1
я использую va_args для следующего случая:два слоя требуют __VA_ARGS__ в VS 2008 не удалось
#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?
Это может быть дубликат; см. [этот вопрос] (http://stackoverflow.com/q/5134523/420683) и попытайтесь использовать обходное решение, описанное там. – dyp