Partilhar via


C6283

Aviso C6283: <variable> é alocada com [novo] array, mas excluída com delete escalar

Esse aviso aparece somente no código C++ e indica que a função de chamada inconsistentemente alocou memória com a matriz new [] operador, mas o liberado com a scalar delete operador.Esse defeito pode causar vazamentos de corrupções de memória e, em situações onde operadores tem sido substituídos, travamentos.Se a memória é alocada com matriz new [], normalmente deve ser liberada com matriz delete[].

Exemplo

O código a seguir gera este aviso:

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

Para corrigir esse aviso, use o código a seguir:

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

Aviso C6283 se aplica somente a matrizes de tipos primitivos como números inteiros ou caracteres.Se os elementos da matriz são objetos da classe digite aviso, em seguida, C6278 é emitido.