2012-05-11 23 views
2

私は、独自のファイルにGameStateというクラスがあり、そのクラスは、独自のファイルにあるタイプStatusViewの別のオブジェクトへのポインタを持っています。 GameState.hでは、私はStatusViewヘッダが含まれているが、私はそれをコンパイルしようとすると、私はエラーを取得する:後続の宣言には、後に必要なものはありますか?

missing type specifier - int assumed 

しかし、私は前方に、私はそれをコンパイルすることができるよ、でもそれを含めた後StatusViewを宣言するとき。私はクラスを宣言する必要がある原因を突き止めません。

+2

送信元とその例http://sscce.org/ – Pubby

+1

を参照してください。エラーは42行目です。 –

+0

42行目にどうなっているのですか? 自己完結したコードを投稿することはできません。これは私が取り組んでいる巨大なプロジェクトの一部です。 GameStateにStatusViewへのポインタがあり、StatusViewにGameStateへのポインタがあるため、循環参照によるものでしょうか? – tree

答えて

6

あなたはヘッダ間の循環依存関係を持っています。 Bを含み、BはAを含むが、内側包含は無視されるので#pragma onceを既に、(これは、標準ヘッダガードと同じである。)A.ため

を評価したので、B が本当にAを含まないありませんあたかもまったく存在しなかったかのように、前方宣言が必要です。

関連する問題