Condividi tramite


Avviso C26454

Overflow aritmetico: l'operazione 'operator' produce un risultato non firmato negativo in fase di compilazione

Osservazioni:

Questo avviso indica che l'operazione di sottrazione produce un risultato negativo valutato in un contesto senza segno, che può comportare overflow imprevisti.

Nome dell'analisi del codice: RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED

Esempio

unsigned int negativeunsigned()
{
    const unsigned int x = 1u - 2u; // C26454 reported here
    return x;
}

Per correggere questo avviso, usare il codice seguente:

unsigned int negativeunsigned()
{
    const unsigned int x = 4294967295; // OK
    return x;
}

Vedi anche

26450
26451
26452
26453
ES.106: non tentare di evitare valori negativi usando unsigned