Partilhar via


C6283

Aviso C6283: <variável>é alocado com [] de novo array, mas excluído com excluir escalar

Esse aviso é exibido somente no código C++ e indica que a função chamada inconsistentemente alocou memória com a matriz new [] operador, mas o liberado com a escalar delete operador. Esse defeito pode causar vazamentos, corrupção de memória e, em situações em que os operadores foram substituídos, travamentos.Se a memória é alocada com matriz new [], normalmente deve ser liberado com array 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 seguinte código:

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

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