0

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

4

2 回答 2

3

当您包含A.hinB.h并且反之亦然时,您设置了循环依赖。如果您包含警卫,其中一个会丢失并且会发生此类错误。

你要做的就是尽量将.h文件包含在.cpp文件中,如果这不可能,则将2路依赖减少为1路依赖。

尽可能多地尝试在文件中使用前向声明.h,只要您只使用指向类的指针,这就足够了。

class Plansza;

代替

#include "Plansza.h"

编辑:感谢 user1701595 提供了很好的参考——Organizing Code Files in C and C++

于 2013-01-15T12:15:28.413 回答
0

万一其他人发现这个问题,并且没有周期性包含,我设法通过将枚举案例命名为与我的类名完全相同的东西来得到这个完全相同的错误。

于 2019-03-15T12:59:05.377 回答