我正在为游戏引擎制作基于组件的实体系统。
我有一个实体类,它必须包含组件基类头以定义组件数组private Component* components[ 123 ]
但是,在组件基类中,我必须定义private Entity* ownerEntity
,因为组件知道它属于谁是至关重要的!
这导致Entity.h需要Component.h,反之亦然 - >循环参考
我该如何解决这个问题?
答案 0 :(得分:11)
只要你只需要你的类将指针或引用包含到其他类中,你就可以跳过真正的包含文件并使用像{一样的空前向声明。 {1}}。
您将需要源文件中的完整包含,您可以在其中取消引用指针或使用class Component;
上的方法调用方法。