警告 C6396

sizeof('integerConstant') 始终返回基础整数类型的大小

注解

此警告指出将整型常数用作 sizeof 参数的情况。 此类表达式始终返回常量类型的大小。 最好转而编写 sizeof(type)。 此警告捕获缓冲区偏移计算中的常见拼写错误。

此检查会忽略字符文本,因为 buffer_size += sizeof(UNICODE_NULL) 是常用的习惯用法。

示例

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

若要解决此问题,请将整型常数替换为其类型:

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