错误[(?testMember @ TestClass @@ 2MA)已在TestClass.obj中定义]而不是尚未定义!

时间:2011-04-29 15:29:02

标签: c++ static

在以下课程中:

class TestClass
{
public:
     int staic testMember;
};

int TestClass::testMember;

我遇到以下编译错误:

  

错误LNK2005:“public:static float TestClass :: testMember”(?testMember @ TestClass @@ 2MA)已在TestClass.obj中定义

注意:我试图在一个单独的应用程序中模拟问题,但一切都运行良好。

我想知道这里的问题在哪里?

1 个答案:

答案 0 :(得分:2)

您的定义:

int TestClass::testMember;

...可能与声明在同一个H文件中:

class TestClass
{
public:
     int staic testMember;
};

将定义移动到自己的CPP文件中。您只需要定义一次。