大家好。
我似乎陷入了困境,但我无法在任何地方找到解决方案。任何人,都会继续解释。
我有一个由三个文件组成的程序;main.ccp、add.h、add.cpp。
我在 add.h 中声明了“SA”类,并在 add.cpp 中定义了我的所有函数
附加.h
class SA {
...
public
int x;
} Obj1, Obj2;
主文件
#include "additional.h"
int main() {
Obj1.x = 5;
...
}
这给了我编译时的链接错误:error LNK2005: "class SA Obj1" (?Obj1@@3VSA@@A) already defined in main.obj
对象的唯一定义出现在 add.h 中,没有其他地方。如果在 main 而不是 header 中声明对象,则程序编译得很好:
主文件
#include "additional.h"
int main() {
SA Obj1;
Obj1.x = 5;
...
}
问题是我想主要在 add.cpp 中使用对象,但仍然需要通过 main.cpp 初始化几个公共值。有什么智慧之言吗?