Skip to content

Latest commit

 

History

History
40 lines (30 loc) · 1.09 KB

File metadata and controls

40 lines (30 loc) · 1.09 KB
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

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