va_start
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ヘッダーで定義
<cstdarg>
|
||
|
void
va_start
(
std
::
va_list
ap, parm_n
)
;
|
||
va_start
マクロは、名前付き引数
parm_n
に続く可変個引数へのアクセスを可能にします。
va_start
は、有効な
va_list
オブジェクト
ap
に対して、
va_arg
の呼び出し前に実行する必要があります。
|
parm_n が パック展開 または ラムダキャプチャ から生じたエンティティである場合、プログラムは不適格(診断不要)である。 |
(C++11以降) |
parm_n が参照型である場合、または デフォルト引数プロモーション によって得られる型と互換性のない型である場合、動作は未定義です。
目次 |
パラメータ
| 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
|
|