Avviso C6396
sizeof('integerConstant') restituisce sempre le dimensioni del tipo integer sottostante
Osservazioni:
Questo avviso indica dove viene utilizzata una costante integrale come sizeof
argomento. Tale espressione restituisce sempre le dimensioni del tipo della costante. È meglio scrivere sizeof(type)
invece. Questo avviso rileva errori di digitazione comuni nei calcoli dell'offset del buffer.
Questo controllo ignora i valori letterali carattere perché buffer_size += sizeof(UNICODE_NULL)
è un linguaggio comune.
Esempio
void f()
{
int a = sizeof(5); // C6396 reported here
}
Per risolvere questo problema, sostituire la costante integrale con il relativo tipo:
void f()
{
int a = sizeof(int); // no C6396 reported here
}