VS 2008中对__VA_ARGS_的两层调用失败
two layers call for __VA_ARGS__ in VS 2008 failed
对于以下情况,我使用VA_ARGS:
#define CHECK4(x,y,...) if ((x)) { y(__VA_ARGS__); }
#define CHECK5(x,y,...) if ((x)) { y(__VA_ARGS__); }
然后称之为:
CHECK5(1, CHECK4,1,printf, "here %s %s %s", "are", "some", "varargs2(4)n");
在2008年的版本中,CHECK5调用失败,但使用gcc运行良好。我应该如何让它在VS 2008中工作?
CHECK5(1, CHECK4(1,printf, "here %s %s %s", "are", "some", "varargs2(4)n"), 1);
相关文章:
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 为什么不能用两层列表初始值设定项初始化 2D std::array?
- 静态模板类成员函数的这两个调用之间有什么区别?
- 为什么在C 中超载邮政增量运算符两次调用构造函数
- 现代C++编译器是否能够避免在某些条件下两次调用常量函数
- 分配两个调用cudaMalloc一次的数组
- VS 2008中对__VA_ARGS_的两层调用失败
- 如果我对async_read进行两次调用,那么只有在处理完第一次调用之后,才会处理第二次调用,这是否安全
- 两个调用 cout 的效率是否低于一个
- 如何正确地将对象添加到向量,而无需两次调用析构函数
- boost::asio vs. libpcap:避免两次调用关闭
- 为什么 DNSServiceProcessResult 两次调用我的回调
- 在资源管理器左窗格上两次调用Windows 7外壳扩展dll Initialize方法
- 这两种调用基类复制赋值的方法有什么区别
- 如何绘制具有不同fps速率的两层
- 两层嵌套的c++类适用于GCC,但不适用于Clang
- 通过连续两次调用boost::asio::read来检索正确的数据
- 如何在c++中从两层继承类调用函数
- Asp.net调用c#层调用Managed c++调用Native c++