主要是用到c里面的三个宏定义va_start、va_arg、va_end和一个变量类型va_list
下面是关于可变参数函数的简单例子
#include <cstdio>
#include <stdarg.h> // 需要的头文件包含
void simple_va_fun(int i, ...)
{
va_list v1; //参数列表
long s;
va_start(v1, i); // 开始 ,取第一个参数值
while (i != 0)
{
// va_arg第一个参数是va_list类型变量,第二个是取下个类型的参数值
s = va_arg(v1, long); // 取10
printf("%d %d\n", i, s);
i = va_arg(v1, long); // 相当于 取100
printf("%d %d\n", i, s);
}
va_end(v1); // 结束
return;
}
int main()
{
int i = 1;
long j = 10;
long k = 100;
simple_va_fun(1, 10, 100);
return 0;
}