﻿# V722\. Abnormality within similar comparisons\. It is possible that a typo is present inside the expression\.

Анализатор обнаружил подозрительное условие, которое может содержать ошибку\.

Диагностика носит эмпирический характер, поэтому проще показать на примере, как она работает, чем объяснить сам принцип работы анализатора\.

Рассмотрим реальный пример:

```cpp
if (obj.m_p == p &&
    obj.m_forConstPtrOp == forConstVarOp &&
    obj.m_forConstPtrOp == forConstPtrOp)
```

Из\-за того, что имена переменных очень похожи, в коде допущена опечатка\. Ошибка находится во второй строке\. Переменную 'forConstVarOp' следовало сравнить с 'm\_forConstVarOp', а не с 'm\_forConstPtrOp'\. Даже читая этот текст сложно заметить ошибку\. Обратите внимание на 'Var' и 'Ptr' внутри названий переменных\.

Правильный вариант:

```cpp
if (obj.m_p == p &&
    obj.m_forConstVarOp == forConstVarOp &&
    obj.m_forConstPtrOp == forConstPtrOp)
```

Если анализатор выдал предупреждение V722, то внимательно изучите соответствующий фрагмент кода\. Иногда опечатку бывает сложно заметить\.