1 c++ circular-dependency include
我正在为游戏引擎制作基于组件的实体系统.
我有一个实体类,它必须包含组件基类头以定义组件数组 private Component* components[ 123 ]
但是,在组件基类中我必须定义一个private Entity* ownerEntity,因为组件知道它属于谁是至关重要的!
这导致Entity.h需要Component.h,反之亦然 - >循环引用
我怎么解决这个问题?
Ben*_*son 11
只要您只需要您的类包含指针或对其他类的引用,您就可以跳过真正的包含文件并使用空的前向声明class Component;.
您将需要源文件中的完整包含,您可以在其中取消引用指针或使用引用来调用方法Component.