私はそのような状況を持っています
ファイル GameServer.h 内:
class ServerGameStruct; //I can't simply include ServerGameStruct.h
// because of cyclic dependency
class GameServer {
public:
class Client { };
private:
ServerGameStruct gameStructure_;
}
およびファイル ServerGameStruct.h 内
#include "GameServer.h"
class ServerGameStruct {
public:
typedef GameServer::Client Client;
// some method which use type Client *
// no class members with type Client
}
コンパイル後、GameServer::gameStructure_ が未定義のクラス GameServerStruct を使用しているというエラーが表示されます。
そのようなヘッダーの循環依存をどのように解決しますか?