Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Estouro aritmético: a operação 'operador' produz um resultado negativo não assinado em tempo de compilação
Comentários
Esse aviso indica que a operação de subtração produz um resultado negativo que foi avaliado em um contexto não assinado, o que pode resultar em estouros não intencionais.
Nome da análise de código: RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED
Exemplo
unsigned int negativeunsigned()
{
const unsigned int x = 1u - 2u; // C26454 reported here
return x;
}
Para corrigir esse aviso, use o seguinte código:
unsigned int negativeunsigned()
{
const unsigned int x = 4294967295; // OK
return x;
}
Confira também
C26450
C26451
C26452
C26453
ES.106: Não tente evitar valores negativos usando unsigned