トラックにレンガがある小さなゲームを書こうとしています。
私の問題は、トラック クラスにブリックのベクトルを持ちたいのですが、ブリック クラスのトラックへのポインターを保持する必要があることです。
私がやろうとしていたのは、track.h と brick.h の 2 つのヘッダー ファイルを用意することで、brick.h ファイルに track.h を含めたい、またはその逆を行いたいと考えていました。
レンガ.h:
#pragma once
#include "track.h"
class brick
{
public:
brick (track &theTrack);
private:
track *mTrack;
};
brick::brick(track &theTrack)
{
mTrack = &theTrack;
}
track.h:
#pragma once
#include "brick.h"
class track
{
public:
private:
vector<brick> brickPositions;
};
ただし、これによりコンパイル エラーが発生します。
これらのクラスには .cpp ファイルを使用せず、先頭に #pragma once を含む .h ファイルを 1 つだけ使用します。
何が問題なのか、どうすれば解決できるのか説明していただけますか?