再編成と改善のためにプロジェクトを書き直していますが、何らかの理由で奇妙なエラーが発生します。
私はヘッダーを持っています:
//Main.h
#include "Errors.h"
class MainClass
{
public:
ErrorClass errors;
};
//Errors.h
class ErrorClass
{
public:
MainClass* mainClassPtr;
};
//Main.cpp
#include "Main.h"
//nothing except the constructor
//Errors.cpp
#include "Main.h"
//constructor only
元のプロジェクトでこれとまったく同じ設定を行っており、正常にコンパイルされますが、この新しいプロジェクト (まだ機能がない) ではエラーが発生します。
error C2143: syntax error : missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
5 回 (合計 10 エラー)。これらはすべてErrors.hの 21 行目を指しています。
private:
MainClass* mainClassPtr; //line 21
クリーンアップして再構築しようとしましたが、エラーが続きます。
これがプロジェクトで機能し、他のプロジェクトでは機能しないのはなぜですか。何が間違っているのでしょうか。どうすればこれを機能させることができますか?