#include <stdarg.h>#define Log(fmt, ...) log(fmt, __VA_ARGS__); //定义可变参数的宏 需要使用__VA_ARGS__void log(const char* fmt, ...){va_list va;va_start(va, fmt); //定位参数指针到最后一个固定的变量int a = va_arg(va, int); //依次获得剩余的参数auto b = va_arg(va, int);std::cout << "a = " << a << std::endl;std::cout << "b = " << b << std::endl;auto c = va_arg(va, int);std::cout << "c = " << c << std::endl;va_end(va);}int main(){std::cout << "Hello World!\n";//log("testa %d", 2, 5, 8);3Log("test", 2, 5);system("pause");}
