共用方式為


C6283

警告 C6283: <variable> 是以陣列 new [] 配置,但以純量 delete 刪除

這項警告只會出現在 C++ 程式碼中,表示呼叫函式是以陣列 new [] 運算子配置記憶體,但是以純量 delete 運算子釋放記憶體。這項缺失可能會造成遺漏、記憶體損毀,而在運算子已被覆寫的情況下,則會造成當機。如果是以陣列 new [] 配置記憶體,則通常應該是以陣列 delete[] 釋放記憶體。

範例

下列程式碼將產生出這個警告:

void f( )
{
  char *str = new char[50];
  // code ...
  delete str;
}

若要更正這則警告,請使用下列程式碼:

void f( )
{
  char *str = new char[50];
  // code ...
  delete[] str;
}

警告 C6283 只會套用到基本型別 (Primitive Type) 的陣列,如整數或字元。如果陣列元素為類別型別的物件,則會發出警告 C6278