假设你有2个功能:
void func(int x,int y,...)
{
//do stuff
}
void func2(int x,...)
{
func(x,123,...);
}
Run Code Online (Sandbox Code Playgroud)
你怎么能让这个工作,例如将arg-list传递给另一个函数?
编辑:这是重复,有人可以合并他们或其他什么?
您需要一个与显式参数列表一起使用的单独版本:
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()
.
归档时间: |
|
查看次数: |
1586 次 |
最近记录: |