Aracılığıyla paylaş


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
}