Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
V625. Initial and final values of...
menu mobile close menu
Additional information
toggle menu Contents

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

Jul 03 2012

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.