在具有可变参数的函数中,我们使用va_start()函数将类型为va_list,'ap'的对象初始化为:
simple->XMLout($xml,
KeepRoot => 1,
XMLDecl => "<?xml version=\"1.0\"?>",
OutputFile => "Attribute.xml"
);
我听不懂
1.什么类型的对象可以作为parMN(最后一个已知参数)传递。我已经完成了传递整数,带有格式说明符的字符串,结构等的示例。
2. parMN如何描述以下可选参数。
答案 0 :(得分:4)
C标准指出va_start()
实际上是一个宏,而不是一个函数,因此它可以执行函数无法执行的操作。详细信息高度依赖于实现,但是您可以想象,它需要使用parmN的地址来确定下一个参数的堆栈地址。 va_start()
不需要了解以下参数的类型,因为该信息将传递到另一个宏va_arg()
。