![]() |
![]() |
0486 | ![]() |
||||
![]() | |||||||
| Constraint violations | REFERENCE - ISO:C90-6.3.6 Additive Operators - Constraints | ||||||
This is a constraint error If the left hand operand of a subtraction operator is a pointer, the other operand must either be a pointer to a compatible object type or else an expression of integral type. For example:
/*PRQA S 488,510,3120,3199,3203,3227,3408,3447,3681 ++*/
extern int * pi;
extern int * pj;
void foo(float dec)
{
long sx;
pi = pj - 2; /* OK - subtracting an integer value */
sx = pi - pj; /* OK - subtracting a compatible pointer */
pi = pi - dec; /* Message 0486 */
}
MISRA C:2012 Rules applicable to message 0486:
| 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 |