未声明的标识符自定义类

时间:2013-01-15 12:13:51

标签: c++ visual-studio-2010 linker compiler-errors

'Plansza' : undeclared identifier 我不知道为什么会出现这个错误。我有两个名为“Plansza”和“GameData”的类,我已经包含了两个标题(在Plansza.h中包含了“GameData.h”并且它有效,但是当我在GameData.h中包含“Plansza.h”时它看不到Planza课程:S

2 个答案:

答案 0 :(得分:2)

当您在A.h中加入B.h时,反之亦然,您可以设置循环依赖。如果您有包含警卫,其中一个丢失,则会发生此类错误。

您要做的是尽量在.h文件中尽可能地包含.cpp文件,如果不可能,请将2路依赖性降低为1路依赖。

尽可能经常尝试在<{1}}文件中使用前向声明,只要您只使用指向该类的指针,这就足够了。

.h

而不是

class Plansza;

修改:感谢user1701595提供了非常好的参考资料 - Organizing Code Files in C and C++

答案 1 :(得分:0)

万一其他人发现了这个问题,并且 not 没有循环包含,我设法通过命名枚举大小写与我的类名完全相同的东西来得到这个完全相同的错误。