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