va_start
ja.cppreference.net より
| ヘッダ <cstdarg>
|
||
void va_start( std::va_list ap, parmN );
|
で定義 (C++26まで) | |
void va_start( std::va_list ap, ... );
|
(C++26以降) | |
マクロ va_start は、名前付き引数 に続く可変個引数へのアクセスを可能にします (C++26まで)parmN(C++26以降)。
va_start は、va_arg の呼び出しより前に、有効な apstd::va_list オブジェクトのインスタンスを指定して呼び出されなければなりません (C++26まで)(C++26以降)
もし |
(C++26まで) | ||
|
もし |
(C++26以降) |
パラメータ
| ap | - | va_list 型のオブジェクト |
| parm_n | - | 最初の可変引数に先行する名前付きパラメータ |
展開された値
(なし)
注記
va_start
は、オーバーロードされた
operator&
を持つ
parm_n
をサポートするために必要です。
例
このコードを実行
出力:
150
不具合報告
以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| CWG 273 | C++98 |
va_startがオーバーロードされた
operator&を持つ
parm_n
をサポートする必要があるかどうかが不明確
|
必須 |
| LWG 2099 | C++98 | parm_n が関数型、配列型、または参照型で宣言されている場合、動作は未定義 | parm_n が参照型の場合、動作は未定義 |
関連項目
|
可変個引数関数の次の引数にアクセスする
(関数マクロ) |
|
|
可変個引数関数の引数の走査を終了する
(関数マクロ) |
|
|
Cドキュメント
for
va_start
|
|