一个典型的过程是
int sum(char *msg, ...)
{
va_list st;
va_start(st, msg);
int total = 0;
int tmp;
while((tmp = va_arg(st, int)) != 0)
{
total += tmp;
}
va_end(st);
cout << "The sum of the list is: " << total;
return 0;
}
由于sum函数自身是不知道有几个参数的,只知道可变参数的首地址是&msg + sizeof(char)。