我有以下代码:多个va_end调用的顺序是否重要?
va_list va[2];
va_start(va[0], fmt);
va_start(va[1], fmt);
process(fmt, va);
va_end(va[0]);
va_end(va[1]);
我看各个网站的文档上va_start
和va_end
,以及所有他们说的是,va_end
应该调用每个va_start
调用函数返回前。
我不确定的是电话的顺序是否重要。具体地讲,是
va_end(va[0]);
va_end(va[1]);
在上述示例代码sementically相同
va_end(va[1]);
va_end(va[0]);
?
您可能也有兴趣'va_copy'。 – 2014-09-03 19:21:39