コンパイラ エラー C2073
'identifier' : 部分的に初期化された配列の要素には、既定のコンストラクターを指定しなければなりません
解説
ユーザー定義型または定数の配列に指定された初期化子が少なすぎます。 配列メンバーに対して明示的な初期化子とその対応するコンストラクターが指定されていない場合は、既定のコンストラクターを指定する必要があります。
このコンパイラ エラーは、Visual Studio 2022 では廃止されています。
例
次の例では C2073 が生成されます。 ソース ファイル C2073.cpp
:
// C2073.cpp
class A {
public:
A( int ); // constructor for ints only
};
A a[3] = { A(1), A(2) }; // C2073, no default constructor
ソース ファイルの C2073b.cpp
には、次の修正プログラムが表示されます。
// C2073b.cpp
// compile with: /c
class B {
public:
B(); // default constructor declared
B( int );
};
B b[3] = { B(1), B(2) }; // OK