Arithmetic overflow: '%operator%' operation produces a negative unsigned result at compile time

This warning indicates that the subtraction operation produces a negative result which was evaluated in an unsigned context. This can result in unintended overflows.

Example

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

To correct this warning, use the following code:

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

See Also

ES.106: Don't try to avoid negative values by using unsigned