Condividi tramite


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
}