V552. A bool type variable is being incremented. Perhaps another variable should be incremented instead.


The analyzer detected a potentially dangerous construct in code where a variable of the bool type is being incremented:

bool bValue = false;
...
bValue++;

First, the C++ language's standard reads:

The use of an operand of type bool with the postfix ++ operator is deprecated.

It means that we should not use such a construct.

Second, it is better to assign the 'true' value explicitly to this variable. This code is clearer:

bValue = true;

Third, it might be that there is a misprint in the code and the programmer actually intended to increment a different variable. For example:

bool bValue = false;
int iValue = 1;
...
if (bValue)
  bValue++;

A wrong variable was used by accident here while it was meant to be this code:

bool bValue = false;
int iValue = 1;
...
if (bValue)
  iValue++;

You can look at examples of errors detected by the V552 diagnostic.


Bugs Found

Checked Projects
336
Collected Errors
12 743