Warnung C6396

sizeof('integerConstant') gibt immer die Größe des zugrunde liegenden Integertyps zurück.

Hinweise

Diese Warnung gibt an, wo eine integrale Konstante als sizeof-Argument verwendet wird. Ein solcher Ausdruck gibt immer die Größe des Typs der Konstante zurück. Es ist besser, stattdessen sizeof(type) zu schreiben. Diese Warnung erfasst gängige Tippfehler in Pufferoffsetberechnungen.

Bei dieser Überprüfung werden Zeichenliterale ignoriert, da buffer_size += sizeof(UNICODE_NULL) ein gängiges Idiom ist.

Beispiel

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

Um dieses Problem zu beheben, ersetzen Sie die integrale Konstante durch ihren Typ:

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