Improper preprocessor directive.
MISRA-C++ Rule 16—2—1 (required): The pre-processor shall only be used for file inclusion and include guards
This rule is also covered by MISRA.USE.DEFINE and MISRA.USE.EXPANSION.
Rationale
C++ provides safer ways of achieving what is often done using the pre-processor, by way of inline functions and constant declarations.
Example
#ifndef HDR // Compliant
#define HDR // Compliant
#define X(Y) (Y) // Non-compliant
#endif