﻿# V3112\. An abnormality within similar comparisons\. It is possible that a typo is present inside the expression\.

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

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

Рассмотрим пример:

```cpp
if (m_a != a || 
    m_b != b || 
    m_b != c) // <=
{
  ....
}
```

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

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

```cpp
if (m_a != a || 
    m_b != b || 
    m_c != c) // <=
{
  ....
}
```

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