【发布时间】:2010-07-30 07:53:10
【问题描述】:
假设我有一个函数,它接受可变参数 (...) 或从另一个此类函数传递的 va_list。主要逻辑在这个函数本身(我们称之为f1),但我想让它把va_list传递给另一个函数(我们称之为f2),它将确定下一个参数类型,获取它使用va_arg,并正确转换并存储以供调用者使用。
将va_list 传递给f2 是否足够,或者是否有必要将指针传递给va_list。除非要求 va_list 是数组类型,否则将其位置数据存储在 va_list 对象指向的位置(而不是对象本身),我看不出按值传递它如何允许调用函数( f1) 来“查看”va_arg 调用的函数所做的更改。
有人能解释一下吗?我对标准的要求感兴趣,而不是某些特定实现允许的内容。
【问题讨论】:
标签: c