我正在尝试编写一个小游戏,其中赛道上有砖块。
我的问题是我想在轨道类中有一个砖向量,但我需要在砖类中保留一个指向轨道的指针。
我想要做的是有两个头文件 track.h 和brick.h,我想在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;
}
轨道.h:
#pragma once
#include "brick.h"
class track
{
public:
private:
vector<brick> brickPositions;
};
但是,这会导致编译错误。
对于这些类,我不使用 .cpp 文件,只使用一个顶部带有 #pragma 的单个 .h 文件。
你能解释一下问题是什么,我该如何解决?