[previous] 0477 [next] [C] 'sizeof' cannot be applied to a function.
Constraint violations REFERENCE - ISO:C90-6.3.3.4 The sizeof Operator - Constraints

This is a constraint error

The 'sizeof' operator can never be applied to an expression that has function type. For example:


/*PRQA S 702,3219,3198,3199,3203,3408,3447,3470 ++*/

extern int func(void);

void foo (void)
{
    unsigned long un;

    un = sizeof(func);         /* Message 0477 */

    un = sizeof(&func);        /* OK - sizeof returns the size of a function pointer type */
}


MISRA C:2012 Rules applicable to message 0477:

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