>
>
>
V6043. Consider inspecting the 'for' op…


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:

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