[previous] 0321 [next] [C] Declaration within 'for' statement defines an identifier '%s' which is not an object.
Constraint violations REFERENCE - ISO:C99-6.8.5 Iteration statements - Constraints

This is a constraint error

In the ISO:C99 language, a declaration is permitted in the first clause of a 'for-loop', but this declaration may only define an object; it is not permitted to declare any other identifiers, e.g. tags, typedefs or enumerator constants. For example:


/*PRQA S 320,1319,1481,2213,3205,3220,3408,3602 ++*/

void foo(void)
{
    for ( enum et {RED, GREEN, ORANGE} ex = RED; ex < ORANGE; ++ex)   /* Message 0321 + 0321 */
    {
    }
}

QA·C Source Code Analyser 8.1.2
© 2013 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index Contents