"C2073: '<変数名>': 部分的に初期化された配列の要素には、既定のコンストラクターを指定しなければなりません" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2073: '<変数名>': 部分的に初期化された配列の要素には、既定のコンストラクターを指定しなければなりません。

よって配列の初期化に失敗しています。

ソース(バグ有り):

class sampleClass
{
public:
sampleClass( int ); }; sampleClass a[2] = { sampleClass(1) };


原因:
int型を引数とするコンストラクタのみ定義されています。規定のコンストラクタが定義されていません。

対処:
規定のコンストラクタを定義します。


ソース(修正済み):

class sampleClass
{
public:
sampleClass( int );
sampleClass(); }; sampleClass a[2] = { sampleClass(1) };

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]