Uyarı C6396
sizeof('integerConstant') her zaman temel alınan tamsayı türünün boyutunu döndürür
Açıklamalar
Bu uyarı, bağımsız değişken olarak sizeof
bir tamsayı sabitin nerede kullanıldığını gösterir. Böyle bir ifade her zaman sabit türünün boyutunu döndürür. Bunun yerine yazmak sizeof(type)
daha iyidir. Bu uyarı, arabellek uzaklığı hesaplamalarında sık karşılaşılan yazım hatalarını yakalar.
Bu denetim, sık kullanılan bir deyim olduğundan buffer_size += sizeof(UNICODE_NULL)
karakter değişmez değerlerini yoksayar.
Örnek
void f()
{
int a = sizeof(5); // C6396 reported here
}
Bu sorunu düzeltmek için integral sabitini türüyle değiştirin:
void f()
{
int a = sizeof(int); // no C6396 reported here
}