宏定义中的可变参数问题

来源:互联网 发布:字幕滚动编辑软件 编辑:程序博客网 时间:2024/05/17 21:06

早期的c语言版本:

#define debug(format, ...) fprintf (stderr, format, __VA_ARGS__)


但是这样定义有个问题,就是在没有输入参数时无法再调用该宏:

debug("test");


可以通过如下方式修订:

#define debug(format, ...) fprintf (stderr, format, ##__VA_ARGS__)