The analyzer has detected a possible error that has to do with using suspicious initial and final values of the counter variable in a 'for' statement. This may break the logic of execution.
Consider the following example of suspicious code:
int c = 0;
if (some_condition)
{
....
c = 1;
}
for (int i = 0; i < c; ++i) {
....
}
The loop will iterate either 0 or 1 time; therefore, it can be replaced with an 'if' statement.
int c = 0;
if (some_condition)
{
....
c = 1;
}
if (c != 0)
{
....
}
There could also be a mistake in the expression evaluating the value of the variable that the loop counter is compared with. For example, the programmer could have actually meant the following:
int c = 0;
if (some_condition)
{
....
c = 1 + n;
}
for (int i = 0; i < c; ++i)
{
....
}
This diagnostic is classified as:
You can look at examples of errors detected by the V1008 diagnostic. |
Was this page helpful?
Your message has been sent. We will email you at
If you do not see the email in your inbox, please check if it is filtered to one of the following folders:
Take
a chance!