Имеет ли значение порядок нескольких вызовов va_end?C++

Программы на C++. Форум разработчиков
Anonymous
Имеет ли значение порядок нескольких вызовов va_end?

Сообщение Anonymous »

У меня есть следующий код:

Код: Выделить всё

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]);
семантически идентичен

Код: Выделить всё

va_end(va[1]);
va_end(va[0]);
в приведенном выше примере кода?

Подробнее здесь: https://stackoverflow.com/questions/256 ... lls-matter

Вернуться в «C++»