V7001. Operands of a binary operator are equivalent.
Анализатор обнаружил фрагмент кода, который может содержать логическую ошибку: оператор, операнды которого эквивалентны.
Пример:
if (a != 0 && a != 0)
В данном случае слева и справа от оператора && находятся одинаковые выражения a != 0, что сигнализирует об ошибке, допущенной по невнимательности. Вероятно, требовалось проверить другую переменную:
if (a != 0 && b != 0)
Также вторая проверка могла оказаться лишней.
Учитываются также не идентичные, но эквивалентные выражения. Например, на данный фрагмент кода:
if ((a * b) > (b * a))
Будет выдано предупреждение, так как операция умножения является коммутативной, и результат окажется одинаковым.