gpt4 book ai didi

c++ - C++ 类的预先定义

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:05 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Circular Dependency with forward declaration error

我有两个文件,一个定义结构(此处:端口),另一个定义类(此处:设备)。由于该类使用这些结构作为端口,因此它们需要链接到该类,最好是通过指针。但是,如果尚未定义设备类,如何创建此指针?

这大概就是我希望代码看起来像的样子......

主干.h:

typedef struct aPort {
std::string portName;
Device *ptrDeviceThatOwnsPort;
} port;

设备.h:

#include "backbone.h"

class Device {
}

...但这显然会在 backbone.h 中抛出一个错误,指出设备尚未定义。我尝试简单地将设备 header 包含在 Backbone header 文件中,在 typedef 前面,但这不起作用,因为每个 header 都依赖于另一个 header 。我在某个地方读到,在 Objectve-C 中有一些类似于“超前类定义”的东西(很长一段时间没有在 Obj-C 中编码),那么 C++ 中有类似的东西吗?还是有更好的解决方案来解决我的问题?

非常欢迎任何帮助,并提前致谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com