Warning C6396
sizeof('integerConstant')는 항상 기본 정수 형식의 크기를 반환합니다.
설명
이 경고는 정수 상수가 sizeof
인수로 사용되는 위치를 나타냅니다. 이러한 식은 항상 상수 형식의 크기를 반환합니다. sizeof(type)
라고 작성하는 것이 좋습니다. 이 경고는 버퍼 오프셋 계산에서 일반적인 오타를 catch합니다.
buffer_size += sizeof(UNICODE_NULL)
은 일반적인 관용구이므로 이 검사에서는 문자 리터럴을 무시합니다.
예시
void f()
{
int a = sizeof(5); // C6396 reported here
}
이 문제를 해결하려면 정수 상수를 해당 형식으로 바꾸세요.
void f()
{
int a = sizeof(int); // no C6396 reported here
}