コンパイラ エラー C3534

auto' を含む型の 'new expression' には初期化子が必要です

new 式が auto キーワードおよび既定の /Zc:auto コンパイラ オプションで使用される場合、その new 式で初期化子を指定する必要があります。

このエラーを解決するには

  • new 演算子に初期化子式を指定します。

使用例

次の例では、C3534 が示されます。 最初の宣言では、型が int の直接初期化子 (0) があるため、エラーが発生しません。 2 番目の宣言では、宣言に初期化子がないためエラーが発生します。 3 番目の宣言では、new 演算子に初期化子がないため、auto キーワードの 2 番目の使用にエラーが発生します。

// C3534.cpp
// Compile with /Zc:auto
int main()
{
   new auto(0); 
   new auto();          // C3534
   auto x = new auto(); // C3534
   return 0;
}

参照

関連項目

auto キーワード

operator new (<new>)