编译器警告(等级 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) 下无效。