内部クラスの前方宣言
定義ヘッダー ファイルを含めずにネストされたクラスを参照することが望ましい場合があります。ただし、内部クラスをそのクラスの外側で前方宣言しようとすると、コンパイル エラーが発生する可能性があります。
次の例を考えてみましょう:
class Container { public: class Iterator { ... }; ... }; class Foo { void Read(Container::Iterator& it); };
このコードをコンパイルすると、不完全なコードが原因でエラーが発生します。コンテナのタイプと未宣言のコンテナvariable.
解決策
残念ながら、内部クラスをそのクラスを含むクラスの外で前方宣言することはできません。 C 標準では、この構文は許可されていません。したがって、この問題に対処するには、次の代替解決策が必要です。
以上がネストされた C クラスを前方宣言するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。