V6045. Suspicious subexpression in a sequence of similar comparisons.
The analyzer has detected a code fragment that is very likely to contain a typo. The fragment is a sequence of similar comparisons of class members, but one of the subexpressions is different from the others in that it compares a pair of members of different names, while the others compare pairs of members of the same name.
Consider the following example:
if (a.x == b.x && a.y == b.y && a.z == b.y)
In this code, the 'a.z == b.y' subexpression is different from the other subexpressions in the sequence and is very likely a result of a typo made by the programmer when editing the copied code fragment. This is the correct version, which would not trigger the warning:
if (a.x == b.x && a.y == b.y && a.z == b.z)
The analyzer outputs this warning for sequences of three and more comparisons.
You can look at examples of errors detected by the V6045 diagnostic. |