va_list
From cppreference.com
| ヘッダー <stdarg.h> で定義 |
||
| /* 未指定 */ va_list; |
||
va_list は、マクロ va_start、va_copy、va_arg、および va_end が必要とする情報を保持するのに適した完全なオブジェクト型です。
va_list インスタンスが作成され、別の関数に渡され、その関数内で va_arg を介して使用された場合、呼び出し元関数でのそれ以降の使用は、va_end の呼び出しを先行させる必要があります。
va_list オブジェクトへのポインタを別の関数に渡し、その関数が戻った後にそのオブジェクトを使用することは合法です。
[編集] 参考資料
- C11標準 (ISO/IEC 9899:2011)
- 7.16/3 Variable arguments <stdarg.h> (p: 269)