0

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'|

重複コードを編集します。

4

1 に答える 1