对于以下情况,我使用 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");
在vs 2008中,CHECK5调用失败了,但是使用gcc它运行良好。 我应该如何让它在VS 2008中运行?
答案 0 :(得分:1)
CHECK5(1, CHECK4(1,printf, "here %s %s %s", "are", "some", "varargs2(4)\n"), 1);