Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
sizeof('integerConstant') siempre devuelve el tamaño del tipo entero subyacente
Comentarios
Esta advertencia indica dónde se usa una constante integral como argumento sizeof. Esta expresión siempre devuelve el tamaño del tipo de la constante. Es mejor escribir sizeof(type) en su lugar. Esta advertencia detecta errores tipográficos comunes en los cálculos de desplazamiento del búfer.
Esta comprobación omite los literales de caracteres porque buffer_size += sizeof(UNICODE_NULL) es una expresión común.
Ejemplo
En el ejemplo siguiente se genera la advertencia C6396:
void f()
{
int a = sizeof(5); // C6396 reported here
}
Para corregir este problema, reemplace la constante integral por su tipo:
void f()
{
int a = sizeof(int); // no C6396 reported here
}