ARRAY呼び出されたクラスのコンストラクター内で呼び出された配列を初期化しようとしていますがCLASS_A、この配列はネストされたクラスからアクセスできるはずCLASS_Bです。配列をテンプレートにしようと思ったのですが、そのときから構文の扱い方が少し曖昧になり始めました。
const intARRAY static を宣言することはソリューションの一部であり、おそらく型をテンプレートのようにすることはほぼ確実です。Aその場合、テンプレートは次のようにtemplate <class A, const int D>なり、宣言はA ARRAY[SIZE];. とにかく、最初に以下のコードをコンパイルするときにこのエラーが発生し、次にいくつかの変更を加えて別のエラーが発生しました。
ちなみにこれはリンカーエラーです
nested_class_incomplete_type.cpp|16|undefined reference to `CLASS_A<3>::ARRAY'|
nested_class_incomplete_type.cpp|28|undefined reference to `CLASS_A<3>::ARRAY'|
重複コードを編集します。