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. |