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
}
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour