可放置的.h
#include "selectable.h"
class placeable : selectable
{
..
};
可选择的.h
#include "game.h"
class selectable
{
..
};
游戏.h
#include "placeable.h"
class game
{
...
class placeable* holding;
...
};
基本上placeable.h 包括selectable.h,其中包括game.h,其中又包括placeable.h。
我能想到的唯一解决方案是将placeable*放在一个新的头文件中,使其成为静态/全局的,然后在game.h和selectable.h中包含这个新头文件。
对不起,我在上面的代码中包含了标题保护。我以为这很明显。在这种情况下,由于继承,标头保护没有帮助,前向声明也是如此。