C6280
Aviso C6280: <variável>é alocada com <função>, mas excluído com <função>
Este aviso indica que a função chamada inconsistentemente alocado memória com uma função da família de alocação de memória de um e liberou-lo com uma função de outra família de alocação de memória.
Por exemplo, esse aviso deve ser produzido se a memória é alocada com malloc liberado, mas com GlobalFree ou delete. Observe que em casos específicos de incompatibilidades entre matriz new[] e escalar delete (ou vice-versa) avisos mais precisos são relatados em vez disso.
Exemplo
O código de exemplo a seguir gera este aviso:
#include <stdlib.h>
void f(int arraySize)
{
int *pInt;
pInt = (int *)calloc(arraySize, sizeof (int));
// code ...
delete pInt;
}
Para corrigir esse aviso, use o código de exemplo a seguir:
#include <stdlib.h>
void f(int arraySize)
{
int *pInt;
pInt = (int *)calloc(arraySize, sizeof (int));
// code ...
free(pInt);
}
Definições de API diferentes podem usar diferentes heaps.Por exemplo, GlobalAlloc usa heap do sistema e usa C heap disponível.Esse defeito tem probabilidade de causar corrupção de memória e travamentos.