在模板函数中使用:
//可变参数在模板函数中的使用
template<typename T>
void testArgs(int count,...){
//声明va_list型变量
va_list next;
//初始化next,使它指向可变参数列表中的第一个命名参数a
va_start(next, count);
//va_arg返回当前(next指向的)参数并让next指向下一个参数
auto curArg=0;
for(int i = 0; i < count; i++){
cout<<"参数:"<<va_arg(next,T)<<endl;
}
//调用va_end以“结束”next
va_end(next);
};
在匿名函数中使用
//带N个参数的匿名函数
auto func3 = [](int count,...){
cout<<"调用带可变参数的匿名函数"<<endl;
//声明va_list型变量
va_list next;
//初始化next,使它指向可变参数列表中的第一个命名参数a
va_start(next, count);
//va_arg返回当前(next指向的)参数并让next指向下一个参数
auto curArg=0;
for(int i = 0; i