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.


Bugs Found

Checked Projects
367
Collected Errors
13 552