其他分享
首页 > 其他分享> > C:概念循环包括问题

C:概念循环包括问题

作者:互联网

我正在为游戏引擎制作基于组件的实体系统.

我有一个实体类,它必须包含组件基类头,以便定义组件数组private Component * components [123]

但是,在组件基类中,我必须定义一个私有的Entity * ownerEntity,因为组件知道它属于谁是至关重要的!

这导致Entity.h需要Component.h,反之亦然 – >循环参考

我怎么解决这个问题?

解决方法:

只要您只需要您的类包含指针或对其他类的引用,您就可以跳过真正的包含文件并使用像Component Component这样的空前向声明.

您将需要源文件中的完整包含,您可以在其中取消引用指针或使用对Component调用方法的引用.

标签:c,include,circular-dependency
来源: https://codeday.me/bug/20191002/1844569.html