我知道大多数时候你得到UNRESOLVED EXTERNAL SYMBOL不包括库或没有在类中正确定义函数,但我得到相同的结构错误。 我在.h中定义的
中有一些文件.cpp和.hextern struct MyDataStruct StructData;
我在.cpp文件中包含了这个.h但是我得到了
'struct MyDataStruct StructData' unresolved external symbol
我在任何类中定义了这个结构,我在没有任何类前缀的情况下访问它。
提前致谢。
答案 0 :(得分:5)
你需要在一个和一个唯一的.cpp文件中实际定义它,即在目标文件中为它分配一些空间,例如。
struct MyDataStruct StructData;
注意在这种情况下没有外部。
虽然所有其他代码都通过标头中的声明来访问它,该标头保留了extern - 它告诉编译器和链接器可执行文件中的其他地方有一些东西可以解析引用。