【发布时间】:2019-04-19 12:59:43
【问题描述】:
是否可以为宏提供可选的[/d] 参数?
我当前的宏做了类似的事情
DO_SOMETHING(Student,marks) add_marks(Student,marks)
现在有时 Student 是一个数组或单个变量,所以在学生元素上使用宏是否可以由我的宏处理?
DO_SOMETHING(Student[10],80) as well as DO_SOMETHING(student,80)
【问题讨论】:
-
宏只是用你告诉它的内容替换匹配的代码,所以在你的例子中你最终会得到
add_marks(Student[10],80)和add_marks(student,80)- 然后是否会编译取决于@987654326 @是。 -
不要使用宏,使用以数组为参数的函数。如果您只需要更改单个项目,请将 size 1 传递给函数。
标签: c preprocessor