【发布时间】:2011-07-11 12:41:57
【问题描述】:
我有一个问题:假设我有一个头文件/源文件集和一个头文件集如下“
BaseCharacter.h 和 BaseCharacter.cpp 和 EventTypes.h
BaseCharacter.h 使用 EventTypes.h 中定义的结构和 typedef,但 EventTypes.h 必须了解 BaseCharacter.h 中定义的 BaseCharacter 类。这会产生循环依赖,我很确定这是阻止我的程序编译的原因。如果我取出 EventTypes.h 和所有依赖 EventTypes.h 中的东西的方法,我的程序编译得很好。但是如果我添加了 EventTypes.h,它和每个引用 BaseCharacter.h 的文件都会抱怨它找不到 BaseCharacter 类。
有没有办法解决这种依赖关系,或者这不是导致我的问题的原因吗?
我使用 MSVC 2010 作为我的编译器
【问题讨论】:
-
循环标头和前向声明已在 SO 上多次介绍。只需查看右侧的“相关”部分,您就会找到答案。