編集: くだらない質問をしても問題が見つかりましたが、循環インクルージョンを見つけて修正しました。
奇妙なエラーが表示されます: error C2504: 'CUpdatable' : base class undefined
. 私のコードには、基本クラスのヘッダー ファイルとクラス プロトタイプの両方が含まれているため、奇妙です。関連するすべてのコードは次のとおりです。
CRoom.h で
#ifndef CROOM_H
#define CROOM_H
#include "CUpdatable.h"
class CUpdatable;
class CRoom : public CUpdatable // <-- error here "CUpdatable is undefined"
{
...
}
#endif
CRoom.cpp で
#include "stdafx.h"
#include "CRoom.h"
CRoom:: // ...
// etc
CUpdatable.h 内
#ifndef CUPDATABLE_H
#define CUPDATABLE_H
class CUpdatable
{
...
}
#endif
CUpdatable.cpp 内
#include "stdafx.h"
CUpdatable:: // ...
// etc
私の最初の推測では、class CUpdatable;
CRoom.h 内にクラス プロトタイプを含めることでしたが、うまくいきませんでした。
何が起こっているように見えるかというと、コンパイル時にヘッダー ファイルが .cpp ファイルを認識していないため、その時点で CUpdatable に定義がなく、このエラーがスローされます。では、これをどのように修正しますか?