包含层次继承的错误

时间:2014-05-13 16:29:02

标签: c++ inheritance include

我有这样的类结构:

实体
生物和瓷砖是实体
玩家和敌人是生物

我的问题出现在包含enemy.h和tiles.h的头文件中。我不确定问题是什么,但如果我不包含其中一个标题,它只能正确编译。这是我所拥有的精简版。

#include "enemy.h"
#include "tiles.h"

class foo
{
  public:
    list<Entity>* GetTiles();
    list<Entity>* GetEnemies();
  private:
    list<Entity>* tilesList();
    list<Entity>* enemiesList();
}

在我投入敌人h和敌人的功能之前,它已正确编译。 enemy.h包括creature.h,其中包括entity.h。 tiles.h包含entity.h

我真的不熟悉#include如何真正起作用,但很明显它是问题所在。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

为什么不发布编译器输出?我非常确定那些被遗忘的内容包含在评论中提及的人员 - 请务必不仅查看您所谈论的文件,而且还要查看其中包含的每个包含标题 - 可能有类似&# 34; utils.h&#34;缺少警卫被其他标题包括在内。