可变参数的传递问题

时间:2022-05-15 17:05:38
 
考虑如下问题
假设有两个不定参数的函数
void proc_one(int x, ...)
void proc_two(...)
假设在proc_one中需要将其不定参数部分传递给proc_two中呢?
搜索了下,并没有透明的方法,只能再声明一个处理函数
void proc_two (va_list ap)
为了减少冗余代码,void proc_two(...)的实现为
void proc_two(...)
{
  va_list ap;
  va_start(ap, fmt);
   proc_two(ap);
  va_end(ap);
}
 
这也是为什么printf有vprintf版本的原因吧。