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

The analyzer has detected a potential error. The '!=' or '== !' operator should be probably used instead of the '=!' operator. Such errors most often occur through misprints.

Consider an example of incorrect code:

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

It's most probably that this code should check that the 'a' variable is not equal to 'b'. If so, the correct code should look like follows:

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

The analyzer accounts for formatting in the expression. That's why if it is exactly assignment you need to perform - not comparison - you should specify it through parentheses or blanks. The following code samples are considered correct:

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

This diagnostic is classified as:

CWE-480