The analyzer has detected a suspicious loop where one of the following statements is used: continue, break, return, goto, or throw. These statements are executed all the time, irrespective of any conditions.
For example:
while (k < max)
{
if (k == index)
value = Calculate(k);
break;
++k;
}
In this code, the 'break' statement doesn't belong to the 'if' statement, which will cause it to execute all the time, regardless of whether or not the 'k == index' condition is true, and the loop body will iterate only once. The correct version of this code should look like this:
while (k < max)
{
if (k == index)
{
value = Calculate(k);
break;
}
++k;
}
This diagnostic is classified as:
You can look at examples of errors detected by the V3020 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!