placeable.h
#include "selectable.h"
class placeable : selectable
{
..
};
選択可能.h
#include "game.h"
class selectable
{
..
};
game.h
#include "placeable.h"
class game
{
...
class placeable* holding;
...
};
基本的に placeable.h は、また placeable.h を含む game.h を含む selectable.h を含みます。
私が考えることができる唯一の解決策は、placeable* を新しいヘッダーに配置して静的/グローバルにし、この新しいヘッダーを game.h と selectable.h に含めることです。
申し訳ありませんが、上部のコードにヘッダー ガードを含めません。私はそれが明らかだと思いました。この場合、継承のためにヘッダーガードは役に立ちません。同じことが前方宣言にも当てはまります。