Partager via


Avertissement C6396

sizeof('integerConstant') retourne toujours la taille du type d’entier sous-jacent

Notes

Cet avertissement indique où une constante intégrale est utilisée comme argument sizeof. Cette expression retourne toujours la taille du type de la constante. Il est préférable d’écrire sizeof(type) à la place. Cet avertissement intercepte les fautes de frappe courantes dans les calculs de décalage de mémoire tampon.

Ce contrôle ignore les littéraux de caractères, car buffer_size += sizeof(UNICODE_NULL) est un idiome commun.

Exemple

void f()
{  
    int a = sizeof(5);         // C6396 reported here
}

Pour résoudre ce problème, remplacez la constante intégrale par son type :

void f()
{  
    int a = sizeof(int);         // no C6396 reported here
}