[previous] 0451 [next] [C] Subscripting requires a pointer (or array lvalue).
Constraint violations REFERENCE - ISO:C90-6.3.2.1 Array subscripting

This is a constraint error

You have attempted to extract a subscripted element from an object which is not of array or pointer type. It may be that the declaration of the subscripted identifier is missing the '[]' or '*' tokens. For example:


/*PRQA S 506,3120,3132,3198,3199,3203,3408 ++*/

int   sin;
int  *psin;
int   asin[10];

void foo(void)
{
   int r;

   r = sin[2];                      /* Message 0451 */
   r = asin[1][2];                  /* Message 0451 */
   r = asin[3];                     /*              */
   r = psin[4];                     /*              */
}


MISRA C:2012 Rules applicable to message 0451:

Rule-1.1  (Required) The program shall contain no violations of the standard C syntax and constraints, and shall not exceed the implementation's translation limits


QA·C Source Code Analyser 8.1
MISRA C:2012 Compliance Module 1.0
© 2012 Programming Research.
www.programmingresearch.com
Personality Groups | Glossary | Message Index | MISRA C:2012 Rule Index Contents