可能重复:
对静态成员的未定义引用是什么意思?
目前我有以下代码文件:TestClass.h
class TestClass
{
private:
int i;
static TestClass* TClass;
public:
static TestClass* GetClass()
{
if(TClass==NULL)
{
TClass = new TestClass();
return TClass;
}
else
{
return TClass;
}
}//end method
int Geti()
{
return i;
}
void Seti(int a)
{
i = a;
}
};
现在我在我的 cpp 文件中有一个方法,包括标题为
declspec(dllexport) int __stdcall GetVar()
{
TestClass *TClass = TestClass::GetClass();
return TClass->Geti();
}
我得到的错误是:
Error 8 error LNK2001: unresolved external symbol "private: static class TestClass * TestClass::TClass" (?TClass@TestClass@@0PEAV1@EA)