# V552. A bool type variable is 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.

Consider the following contrived example:

    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++;

This diagnostic is classified as:

CWE-480

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