'Plansza':未声明的标识符
我不知道为什么会出现此错误。我有两个名为“Plansza”和“GameData”的类,我已经包含了两个标题(在 Plansza.h 中包含“GameData.h”并且它有效,但是当我在 GameData.h 中包含“Plansza.h”时它没有看到计划类:S
最佳答案
当您在 B.h
中包含 A.h
时,反之亦然,您设置了循环依赖。如果你包含守卫,其中一个会丢失,这样的错误就会发生。
你要做的是尽量在 .cpp
文件中包含 .h
文件,如果不可能,减少 2方式依赖转化为 1 方式依赖。
尽可能多地尝试在 .h
文件中使用前向声明,只要您只使用指向类的指针,就足够了。
class Plansza;
代替
#include "Plansza.h"
编辑:感谢 user1701595 提供非常好的引用 - Organizing Code Files in C and C++
关于c++ - 未声明的标识符自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14337496/