/Zc:zeroSizeArrayNew
(对数组调用成员 new/delete)
/Zc:zeroSizeArrayNew
编译器选项对零长度的对象数组调用成员 new
和 delete
。
语法
]$
备注
/Zc:zeroSizeArrayNew
编译器选项允许对具有虚拟析构函数的类类型零长度对象数组调用成员 new
和 delete
。 此行为符合标准。 此编译器选项是 Visual Studio 2019 版本 16.9 中的新增选项,默认在所有编译器模式下启用。 以前,在 Visual Studio 2019 版本 16.9 之前由版本编译的代码中,编译器使用虚拟析构函数调用了类类型的对象的全局 new
数组和 delete
零长度数组。
/Zc:zeroSizeArrayNew
选项可能会导致依赖于先前不一致行为的代码发生中断性变更。 若要还原以前的行为,请使用 /Zc:zeroSizeArrayNew-
编译器选项。
在 Visual Studio 中设置此编译器选项
打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“C/C++”>“命令行”属性页。
在其他选项中添加
/Zc:zeroSizeArrayNew
或/Zc:zeroSizeArrayNew-
。 选择“确定”或“应用”以保存更改。