Compartilhar via


Aviso C6396

sizeof('integerConstant') sempre retorna o tamanho do tipo inteiro subjacente

Comentários

Este aviso indica onde uma constante integral é usada como argumento sizeof. Essa expressão sempre retorna o tamanho do tipo da constante. É melhor gravar sizeof(type) em vez disso. Esse aviso captura erros de digitação comuns em cálculos de deslocamento de buffer.

Esta verificação ignora literais de caractere porque buffer_size += sizeof(UNICODE_NULL) é uma expressão comum.

Exemplo

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

Para corrigir esse problema, substitua a constante integral por seu tipo:

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