Unicorn with delicious cookie
Nous utilisons des cookies pour améliorer votre expérience de navigation. En savoir plus
Accepter
to the top
>
>
>
V637. Use of two opposite...
menu mobile close menu
Additional information
toggle menu Contents

V637. Use of two opposite conditions. The second condition is always false.

27 Aoû 2012

The analyzer has detected a potential logic error in the program. The error is this: two conditional operators in a sequence contain mutually exclusive conditions.

Here are examples of mutually exclusive conditions:

  • 'A == B' and 'A != B';
  • 'B < C' and 'B > C';
  • 'X == Y' and 'X < Y';
  • etc.

This error usually occurs as a consequence of a misprint or poor refactoring. As a result, program execution logic is violated.

Consider an example of incorrect code:

if (A == B)
  if (B != A)
    B = 5;

In this case, the "B = 5;" statement will never be executed. Most likely, an incorrect variable is used in the first or in the second condition. We need to find out the program execution logic.

This is the fixed code:

if (A == B)
  if (B != C)
    B = 5;

This diagnostic is classified as:

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