Compartir a través de


Advertencia C6396

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

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
}