# V6043. Consider inspecting the 'for' operator. Initial and final values of the iterator are the same.

The analyzer has detected a potential error: initial and finite counter values coincide in the 'for' operator. Using the 'for' operator in such a way will cause the loop to be executed only once or not to be executed at all.

Consider the following example:

    void BeginAndEndForCheck(int beginLine, int endLine)
    {
      for (int i = beginLine; i < beginLine; i++)
      {
        ...
      }
      ...
    }

The loop body is never executed. Most likely, there is a misprint and "i < beginLine" should be replaced with the correct expression "i < endLine". This is the correct code:

    for (int i = beginLine; i < endLine; i++)
    {
      ...
    }

Another example:

    for (int i = n; i <= n; i++)
      ...

This loop's body will be executed only once. This is probably not what the programmer intended.

This diagnostic is classified as:

CWE-691

You can look at examples of errors detected by the V6043 diagnostic.