#include <iostream>
#include <cstdarg>
using namespace std;
template<class T>
T add(int n, T t...) //第一个表示多少个参数,最后
{
cout << typeid(T).name() << endl;
va_list arg_ptr; //开头指针 //va_list:char *类型
va_start(arg_ptr, n); //从arg_ptr开始读取N个
T res(0); //初始化为0
for (int i = 0; i < n; i++)
{
res += va_arg(arg_ptr, T); //根据数据类型取出数据
}
va_end(arg_ptr);
//cout << res << endl;
return res;
}
void main()
{
cout << add(1, 2, 3) << endl;
cout << add(1.1, 2.2, 3.3, 4.4) << endl;
cin.get();
}