コンパイラの警告 (レベル 3) C4534

既定の引数のため、'constructor' はクラス 'class' の既定のコンストラクターに指定できません。

アンマネージド クラスには、既定値付きのパラメーターを受け取るコンストラクターを定義でき、コンパイラは、それを既定のコンストラクターとして使用します。 value キーワードでマークされたクラスの場合、既定値付きのパラメーターを受け取るコンストラクターが既定のコンストラクターとして使用されません。

詳細については、「クラスと構造体」を参照してください。

次の例では C4534 が生成されます。

// C4534.cpp
// compile with: /W3 /clr /WX
value class MyClass {
public:
   int ii;
   MyClass(int i = 9) {   // C4534, will not be the default constructor
      i++;
   }
};

int main() {
   MyClass ^ xx = gcnew MyClass;
   xx->ii = 0;
}