可变参数的宏定义
1 #define MYDEBUG(format, args...) printf(format, args)
2 #define MYDEBUG(format, ...) printf(format, __VA_ARGS__)
这两种都要求除了格式字符串之外,至少还需要一个参数,否则编译出错。
3 使用gcc的扩展特性
#define MYDEBUG(format, args...) printf(format, ##args)
则除了格式串外,如果不需要参数,可以不出现参数。

浙公网安备 33010602011771号