编译器警告(等级 4)C4208
使用了非标准扩展:delete [exp] - 已计算但忽略 exp
通过 Microsoft 扩展 (/Ze),可以使用 delete 运算符利用括号中的值来删除数组。 将忽略值 。
// C4208.cpp
// compile with: /W4
int main()
{
int * MyArray = new int[18];
delete [18] MyArray; // C4208
MyArray = new int[18];
delete [] MyArray; // ok
}
这样的值在 ANSI 兼容性 (/Za) 下无效。