C6283
Aviso C6283: <variable> é alocada com array [novo], mas excluída com delete escalar
Esse aviso aparece somente no código em C++ e indica que a função de chamada tem inconsistentemente memória alocada com a matriz new [] operador, mas 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 [], que normalmente deve ser liberado 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 seguinte código:
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.