这个GCC警告意味着什么?
cpfs.c:232:33: warning: ISO C99 requires rest arguments to be used
相关的路线是:
__attribute__((format(printf,2,3))) static void cpfs_log(log_t level,char const *fmt,...); #define log_debug(fmt,...) cpfs_log(DEBUG,fmt,##__VA_ARGS__) log_debug("Resetting bitmap");
最后一行是函数实现中的第232行.编译器标志是:
-g -Wall -std=gnu99 -Wfloat-equal -Wuninitialized -Winit-self -pedantic
解决方法
是的,这意味着您必须按照您定义的方式传递至少两个参数.你可以做到
#define log_debug(...) cpfs_log(DEBUG,__VA_ARGS__)
然后你也避免使用##构造的gcc扩展.