//参数类型不一致,个数不确定
#include <iostream>
#include <cstdarg>
using namespace std;
void show() //递归必须有一个结束符:空函数
{
}
template <typename T, typename...Args> //typename比class作用域更强
//typename...处理可变参数
void show(T t, Args...args)
{
cout << t << endl; //打印
show(args...);
}
void main()
{
show(1, 1.2, "123", "A");
cin.get();
}
总结:
1、CPP的可变参数库:#include <cstdarg>
2、尽量使用typename而不是class来声明一个模板
3、函数的可变参数模板必须用递归来实现