错误 [(?testMember@TestClass@@2MA) 已经在 TestClass.obj 中定义] 而不是它不是 alrealdy 发现的!

Error [(?testMember@TestClass@@2MA) already defined in TestClass.obj] instead of it's not alrealdy definded !

本文关键字:定义 发现 alrealdy obj testMember@TestClass@@2MA TestClass 错误      更新时间:2023-10-16

在下列类别中:

class TestClass
{
public:
     int staic testMember;
};
int TestClass::testMember;

我有以下编译错误:

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

注意:我已经尝试在一个单独的应用程序中模拟这个问题,但那里一切都很好。

我想知道问题在哪里?

你的定义:

int TestClass::testMember;

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

class TestClass
{
public:
     int staic testMember;
};

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