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