编译器错误 C3534

其类型包含“auto”的“new 表达式”必须具有初始值设定项

如果 new 表达式与 auto 关键字和默认 /Zc:auto 编译器选项结合使用,则 new 表达式必须指定初始值设定项。

更正此错误

  • 为 new 运算符指定初始值设定项表达式。

示例

下面的示例演示 C3534。 第一个声明不会产生错误,因为它有一个类型为 int 的直接初始值设定项 (0)。 第二个声明会产生错误,因为它没有初始值设定项。 在第三个声明中,所使用的第二个 auto 关键字会产生错误,因为 new 运算符没有初始值设定项。

// 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>)