警告 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
}