![]() |
![]() |
0591 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C90-6.6.4.2 The switch Statement - Constraints | ||||||
This is a constraint error The case label is not an integral constant expression. For example:
/*PRQA S 1263,1269,2016,3227,3408 ++*/
#define A 1
#define B (int)2.
#define C 3.5
#define D (int)(2.2 * 2.5)
void foo(int n)
{
switch(n)
{
case A: /* OK: integer constant */
break;
case B: /* OK: float cast to int */
break;
case C: /* Message 0591: float expression */
break;
case D: /* Message 0591: not an integral constant expression */
break;
default:
break;
}
}
![]() | ||
| QA·C Source Code Analyser 8.1.2
© 2013 Programming Research. www.programmingresearch.com | Personality Groups | Glossary | Message Index | Contents |