所以,读清楚...
// scene.h
#include "Entity.h"
class Scene
{
public:
Entity createEntity() {
return Entity(this);
}
};
这就是Scene
类,然后我们得到Entity
类
// entity.h
class Entity
{
public:
Entity(Scene* scene) {
m_handle = scene->m_registry.create() // entt library
}
};
我试着声明这些类,但是因为它们访问每个类的函数和类变量等等,这有点不可能。
我试图创建一个场景,持有实体。由于C++有这个奇怪的问题时,两个文件是包括对方,我真的不知道该怎么办,因为我的类必须访问对方的函数和变量等,向前声明没有真正工作...
1条答案
按热度按时间zc0qhyus1#
1.在每个头文件中使用pragma:
1.或包括防护装置:
Scene.h
Entity.h