我正在用 C++ 编写一个小游戏作为练习,我遇到了一个难题。基本思想是 aLevel有一个vectorof Entity,每个Entity实例都知道它属于哪个级别。到目前为止非常简单。
我在我的 Entity 类中遇到了一些令人讨厌的编译错误,因为它无法弄清楚是什么Level。在声明之前的一个简单的前向类声明Entity很容易解决这个问题。但是,我已经包含"Level.h"在"Entity.h". And LevelandEntity都在同一个命名空间中声明和定义。
注:Entity.h还包括Level.h.
#include "Level.h"
namespace GameNS {
// Required, otherwise the compiler complains
class Level;
class Entity
{
public:
...
Level编译器不应该在它到达时已经知道是什么Entity吗?