...
No Format |
---|
#define FOO(a, b, c) bar(a, b, c) /* ... */ FOO(arg1, arg2, arg3); |
Risk Assessment
Failing to parenthesize around the parameter names within a macro can result in unintended program behavior.
...
Wiki Markup |
---|
\[[Plum 85|AA. C References#Plum 85]\] \[[Summit 05|AA. C References#Summit 05]\] Question 10.1 \[[ISO/IEC 9899-1999|AA. C References#ISO/IEC 9899-1999]\] Section 6.10, "Preprocessing directives," and Section 5.1.1, "Translation environment" |
...
PRE00-A. Prefer inline functions to Macros 01. Preprocessor (PRE) PRE02-A. Macro replacement lists should be parenthesized