ネストされたクラスの前方宣言: 不可能な試み
C では、あなたが言及した Container クラス内の Iterator クラスのようなネストされたクラスはできません。それらを含むクラスの外で前方宣言する必要があります。これを試みると、ご覧のとおりコンパイル エラーが発生します。
これは、ネストされたクラスが本質的にそのクラスを囲んでいるクラスに依存しているためです。囲んでいるクラスを定義せずにそれらを前方宣言すると、スコープが不完全なままになり、コンパイラ エラーが発生します。
代替解決策
この制限を回避するには、次のことを考慮してください。次のオプション:
以上が入れ子になった C クラスを転送宣言できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。