#define 省略号, 在Vs2013中报错, 怎么办?

wqrz 2017-11-01 02:01:32

#define EXAMPLE_TRACE(fmt, args...) \

这个在code:blocks编译可以通过, 但是在vs2013编译报错, 要怎么处理?
这样的宏在代码里有很多 最好能不修改代码的情况下解决问题 thx~~



...全文
233 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
destory27 2017-11-09
  • 打赏
  • 举报
回复
#define LOG(...){\ fprintf(stderr, " %s: Line %d : \t", __FILE__, __LINE__);\ fprintf(stderr, __VA_ARGS__);\ fprintf(stderr, "\n");\ } #define PR(...){\ fprintf(stderr, __VA_ARGS__);\ }
paschen 版主 2017-11-01
  • 打赏
  • 举报
回复
VS不支持这种写法,GCC等支持
  • 打赏
  • 举报
回复 1
#define EXAMPLE_TRACE(fmt, ...) printf(fmt, __VA_ARGS__)
wqrz 2017-11-01
  • 打赏
  • 举报
回复
引用 2 楼 iloveyou418 的回复:
#define EXAMPLE_TRACE(fmt,args,...);这里需要加个逗号?
不行
CT8100 2017-11-01
  • 打赏
  • 举报
回复
#define EXAMPLE_TRACE(fmt,args,...);这里需要加个逗号?
热血打工人 2017-11-01
  • 打赏
  • 举报
回复
Compiler Error C2010 'character' : unexpected in macro formal parameter list The given character was used incorrectly in the formal parameter list of a macro definition.

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧