テンプレート関数でstd関数を使用できますか?私は1つの文字列に権利を追加し、テンプレートでstd :: maxを使用するとエラーが発生する
#pragma region BlendFunctions
template <class T>
T BlendLightenf(T x, T y)
{
return std::max(x, y); //errors here
}
template <class T>
T BlendDarkenf(T x, T y)
{
return std::min(x, y); //errors here
}
を書き、
error C2589: '(' : illegal token on right side of '::'
と
error C2059: syntax error : '::'
を取得している (xとyは通常float
です)。
私の定義:max
が他の誰かによって定義されていない
#ifdef MAGICLIB_EXPORTS
#define CPPWIN32DLL_API __declspec(dllexport)
#else
#define CPPWIN32DLL_API __declspec(dllimport)
#endif
#include <stdio.h>
#include <string>
#include <algorithm>
'std :: max'を直接使うだけですが、これは何ですか? –
あなたはどのヘッダを含んでいますか?いくつかのマクロが干渉することがありますか? –
@CatPlusPlus私はあなたを取得しません。誰かが大量のコードを投稿すると、問題を理解するために必要な最小限のコードを削除するように求められます。彼らが最低額を掲示すると、そのようなことが何をしているのかが分かります。 –