2012-02-08 10 views
2

私は2つのファイルが両方とも他のファイルを含み、私は奇妙なエラーが発生しています。お互いを含むC++ヘッダーファイル

#ifndef NODE_H 
#define NODE_H 

#include "model.h" 
etc.... 
#endif 

#ifndef MODEL_H 
#define MODEL_H 

#include "Node.h" 
etc.... 
#endif 

ここに私がしていることの私のコード例があります。なぜ、これが可能ではない、あるいは許されないのか、誰かに説明することができますか?そして、私はこの問題に合格するために何をすべきですか?

+0

[ヘッダファイル間の巡回依存関係]の複製可能性(http://stackoverflow.com/questions/2089056/cyclic-dependency-between-header-files) –

答えて

5

あなたは、Nodemodelの間にcircular dependencyを持っています。

#include "Node.h" 

が... model.hに、前方宣言...代わりに、これに対処するには...

class Node; 

...、これはにあなたをできるようになりますModelclassNode& node;があります。

またはその逆。

あなたのデザインを再訪してこの循環依存を排除​​できるかどうかを確認してください。

+0

ありがとう! –

関連する問題