Share via


/Zc:zeroSizeArrayNew(对数组调用成员 new/delete)

/Zc:zeroSizeArrayNew 编译器选项对零长度的对象数组调用成员 newdelete

语法

/Zc:zeroSizeArrayNew[-]

备注

/Zc:zeroSizeArrayNew 编译器选项允许对具有虚拟析构函数的类类型零长度对象数组调用成员 newdelete。 此行为符合标准。 此编译器选项是 Visual Studio 2019 版本 16.9 中的新增选项,默认在所有编译器模式下启用。 以前,在 Visual Studio 2019 版本 16.9 之前由版本编译的代码中,编译器使用虚拟析构函数调用了类类型的对象的全局 new 数组和 delete 零长度数组。

/Zc:zeroSizeArrayNew 选项可能会导致依赖于先前不一致行为的代码发生中断性变更。 若要还原以前的行为,请使用 /Zc:zeroSizeArrayNew- 编译器选项。

在 Visual Studio 中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“命令行”属性页

  3. 其他选项中添加 /Zc:zeroSizeArrayNew/Zc:zeroSizeArrayNew-。 选择“确定”或“应用”以保存更改。

另请参阅

/Zc(一致性)