可能重复:
带有前向声明错误的循环依赖
我有两个文件,一个定义结构(这里:端口),另一个定义一个类(这里:设备)。由于类使用这些结构作为端口,因此它们需要链接到类,最好是通过指针。但是如果设备类还没有定义,我该如何创建这个指针呢?
这大致是我希望代码看起来像......
骨干.h:
typedef struct aPort {
std::string portName;
Device *ptrDeviceThatOwnsPort;
} port;
设备.h:
#include "backbone.h"
class Device {
}
...但这显然会在backbone.h中抛出一个错误,说Device has not been defined。我尝试简单地将设备头包含在主干头文件中,在 typedef 前面,但这不起作用,因为每个头都依赖于另一个头。我在某处读过,在 Objectve-C 中有一些类似于“超前类定义”的东西(已经有一段时间没有在 Obj-C 中编码了),那么在 C++ 中是否有类似的东西?或者对我的问题有更好的解决方案吗?
非常欢迎任何帮助,并提前致谢。