# V3034. Consider inspecting the expression. Probably the '!=' should be used here.

Анализатор обнаружил потенциальную ошибку. Возможно вместо оператора '=!' следует написать '!=' или '== !'. Подобные ошибки чаще всего возникают из-за опечатки.

Рассмотрим пример некорректного кода:

    bool a, b;
    ...
    if (a =! b)
    {
      ...
    }

С большой вероятностью здесь должна быть проверка, что переменная 'a' не равна 'b'. Если это так, то корректный вариант кода должен выглядеть следующим образом:

    if (a != b)
    {
      ...
    }

Анализатор учитывает форматирование в выражении. Поэтому если действительно требуется выполнить присваивание, а не сравнение, необходимо указать, используя скобки или пробелы. Следующие примеры кода считаются анализатором корректными:

    if (a = !b)
      ...
    if (a=(!b))
      ...

Данная диагностика классифицируется как:

CWE-480