--- description: "Learn more about: Arithmetic overflow: 'operator' operation produces a negative unsigned result at compile time" title: Warning C26454 ms.date: 01/08/2017 f1_keywords: ["C26454", "RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED"] helpviewer_keywords: ["C26454"] --- # Warning C26454 > Arithmetic overflow: '*operator*' operation produces a negative unsigned result at compile time ## Remarks This warning indicates that the subtraction operation produces a negative result that was evaluated in an unsigned context, which can result in unintended overflows. Code analysis name: `RESULT_OF_ARITHMETIC_OPERATION_NEGATIVE_UNSIGNED` ## Example ```cpp unsigned int negativeunsigned() { const unsigned int x = 1u - 2u; // C26454 reported here return x; } ``` To correct this warning, use the following code: ```cpp 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](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Res-nonnegative)