ARRAY
呼び出されたクラスのコンストラクター内で呼び出された配列を初期化しようとしていますがCLASS_A
、この配列はネストされたクラスからアクセスできるはずCLASS_B
です。配列をテンプレートにしようと思ったのですが、そのときから構文の扱い方が少し曖昧になり始めました。
const int
ARRAY 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'|
重複コードを編集します。