可变参数的传递问题
考虑如下问题
假设有两个不定参数的函数
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版本的原因吧。