>
>
>
V625. Initial and final values of the i…


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

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(size_t beginLine, size_t endLine)
{
  for (size_t i = beginLine; i < beginLine; ++i)
  {
   ... 
  }

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

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

Another example:

for (size_t i = A; i <= A; ++i) 
  ...

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

This diagnostic is classified as:

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