V3067. It is possible that 'else' block was forgotten or commented out, thus altering the program's operation logics.
The analyzer has detected a suspicious code fragment which may be a forgotten or incorrectly commented else block.
This issue is best explained on examples.
if (!x)
t = x;
else
z = t;
In this case, code formatting doesn't meet its logic: the z = t expression will execute only if (x == 0), which is hardly what the programmer wanted. A similar situation may occur when a code fragment is not commented properly:
if (!x)
t = x;
else
//t = -1;
z = t;
In this case, we either need to fix the formatting by turning it into something more readable or fix the logic error by adding a missing branch of the if operator.
Sometimes there are cases when it's hard to say whether this code is incorrect or if it is peculiar code formatting. The analyzer tries to decrease the number of false positives related to code formatting, by not issuing warnings when the code is formatted with both spaces and tabs; with that the number of tabs is various in different strings.
This diagnostic is classified as:
You can look at examples of errors detected by the V3067 diagnostic. |