【发布时间】:2013-02-09 21:07:41
【问题描述】:
我有一个问题,我有多个头文件,我需要将它们中的每一个都包含在彼此中。显然,这是做不到的,因为当我编译时,会抛出“包含嵌套太深”的错误 - 因为这实际上要求编译器进入无限包含循环。
我可以使用 void 指针来修复它,但这对我来说似乎是一种糟糕的编码习惯。
这是我正在尝试做的一个示例,以帮助理解:
文件-A:
#include "File-B"
#include "File-C"
class A
{
public: B* p_B;
public: C* p_C;
};
文件-B:
#include "File-A"
#include "File-C"
class B
{
public: A* p_A;
public: C* p_C;
};
文件-C:
#include "File-B"
class C
{
public: B* p_B;
};
这只是显示需要每个类声明的位置。 void* 肯定有更好的解决方案。
编辑:我已经在使用包含守卫,这段代码只是为了帮助您了解我想要做什么。
【问题讨论】:
标签: c++ file class header include