Mat*_*ner 6 c gcc c99 variadic
这个GCC警告意味着什么?
cpfs.c:232:33: warning: ISO C99 requires rest arguments to be used
Run Code Online (Sandbox Code Playgroud)
相关的路线是:
__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");
Run Code Online (Sandbox Code Playgroud)
最后一行是函数实现中的第232行.编译器标志是:
-g -Wall -std=gnu99 -Wfloat-equal -Wuninitialized -Winit-self -pedantic
Run Code Online (Sandbox Code Playgroud)
是的,这意味着您必须按照您定义的方式传递至少两个参数.你可以做到
#define log_debug(...) cpfs_log(DEBUG, __VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)
然后你也避免了, ##构造的gcc扩展.
| 归档时间: |
|
| 查看次数: |
2614 次 |
| 最近记录: |