...
| 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