c++ - 未声明的标识符自定义类

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

'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/

相关文章:

c++ - 从 btScalar 矩阵获取方向 vector

c++ - 警告 C4005 'identifier' : macro redefinition

c - gentoo ld.gold 在 sys-libs/db 上失败

c++ - 如何汇编、链接和编译 C++、NASM 文件和 .o 驱动程序的组合

c++ - Unresolved external symbol 错误 (LNK2019),包含 header 后

c++ - Cuda:从 n 中同步一个核函数

c++ - 通过指针调用具有未知参数计数的函数的简单方法

c++ - 如何检查字符串是否包含标点符号c++

c# - Visual Studio 中的集中实时协作编辑

c++ - 将 native 编译的 C++ DLL 添加到 CLR C++ 项目?