编译器警告(等级 1)C4154

删除数组表达式;转换到提供的指针

不能在数组上使用 delete,因此编译器会将数组转换为指针。

示例

// C4154.cpp
// compile with: /c /W1
int main() {
   int array[ 10 ];
   delete array;   // C4154 can't delete stack object

   int *parray2 = new int [10];
   int (&array2)[10] = (int(&)[10]) parray2;
   delete [] array2;   // C4154

   // try the following line instead
   delete [] &array2;
}