1

ゲームエンジン用のコンポーネントベースのエンティティシステムを作成しています。

コンポーネントの配列を定義するためにコンポーネント基本クラスヘッダーを含める必要があるエンティティクラスがありますprivate Component* components[ 123 ]

ただし、コンポーネントの基本クラスでは、を定義する必要がprivate Entity* ownerEntityあります。これは、コンポーネントが誰に属しているかを知っていることが重要だからです。

これにより、Entity.hにはComponent.hが必要になり、その逆も同様です->循環参照

どうすればこれを解決できますか?

4

1 に答える 1

11

クラスに他のクラスへのポインターまたは参照を含めることだけが必要である限り、実際のインクルード ファイルをスキップして、class Component;.

ポインターを逆参照するか、参照を使用して のメソッドを呼び出すソース ファイルに完全なインクルードが必要になりますComponent

于 2010-11-05T22:04:47.787 に答える