VC でコードをコンパイルすると、C4251 警告が表示されます。_declspec(dllexport)
私の場合、ほとんどの警告は、STL がクラスのメンバーであるという事実から来ています。警告を深く理解するために、警告に興味をそそるクラスを作成する予定です。以下のケースを試してみましたが、C4251の警告が出ず、簡単な例を挙げていただけないでしょうか。ありがとう!
私が試したケース:
class _declspec(dllexport) ClassTest
{
public:
ExportClass<int> myexport;
ClassUse myuse;
int i;
};
ケース 1:
template <typename T>
class ExportClass
{
public:
T a;
T b;
};
ケース 2:
class ClassUse
{
public:
int counts;
float f_value;
std::vector<int> abc;
void get_func();
template <typename T>
T ouput_value()
{
return static_cast<T>(3);
};
template<class T>
int connected()
{
T abc;
return 3;
}
};
編集:
STL を呼び出しても警告が表示されないことを明確にしたいと思います。