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


V3028. 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 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 = A; i <= A; 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 V3028 diagnostic.