一个变量args函数如何调用另一个?

Mr.*_*Boy 6 c

假设你有2个功能:

void func(int x,int y,...)
{
 //do stuff
}
void func2(int x,...)
{
 func(x,123,...);
}
Run Code Online (Sandbox Code Playgroud)

你怎么能让这个工作,例如将arg-list传递给另一个函数?

编辑:这是重复,有人可以合并他们或其他什么?

unw*_*ind 8

您需要一个与显式参数列表一起使用的单独版本:

void vfunc(int x, va_list args)
{
  /* do stuff */
}

void func2(int x, ...)
{
  va_list arg;

  va_start(arg, x);
  vfunc(x, arg);
  va_end(arg);
}
Run Code Online (Sandbox Code Playgroud)

这就是有标准功能的原因vprintf().