【发布时间】:2011-01-02 20:32:13
【问题描述】:
可能重复:
C/C++: How to make a variadic macro (variable number of arguments)
只是想知道这是否可能。因此,我当前如何处理具有多个参数的日志记录和消息,我不得不为每种情况使用许多不同的宏,例如:
#define MSG( msg )
#define MSG1( fmt, arg1 )
#define MSG2( fmt, arg1, arg2 )
#define MSG3( fmt, arg1, arg2, arg3 )
#define MSG4( fmt, arg1, arg2, arg3, arg4 )
#define MSG5( fmt, arg1, arg2, arg3, arg4, arg5 )
#define MSG6( fmt, arg1, arg2, arg3, arg4, arg5, arg6)
有没有办法只定义一个可以接受任意数量参数的宏?
谢谢
【问题讨论】:
-
没有标准方法。但是,最常用的编译器支持可变参数宏。不过,我会让其他人发布该答案。 :)
-
@GMan 我会让问题的幽灵过去回答:stackoverflow.com/questions/679979/…
-
@GMan 的回答总比没有好?
-
我知道会有其他人加入,我不需要占用所有的代表。 :P (a.k.a brb get food)
-
:) 我刚醒来,这是第一次点击答案:p