#define va_arg(ap, type) unspecified
概要
va_listオブジェクトapから、type型の次の可変引数を取得する。
va_argを呼び出すたびに、apは次の引数を指すように進む。
戻り値
type型に変換した、次の可変引数の値。
備考
- 取得する引数が存在しない場合、または実際に渡された引数の型と
typeが互換でない場合、動作は未定義である(ただし、符号の有無だけが異なる整数型どうしなど、一部の組み合わせは許容される)。 apは、あらかじめva_startまたはva_copyで初期化されていなければならない。
例
#include <cstdarg>
#include <iostream>
// count個のint引数の合計を求める
int sum(int count, ...)
{
std::va_list args;
va_start(args, count);
int total = 0;
for (int i = 0; i < count; ++i) {
total += va_arg(args, int);
}
va_end(args);
return total;
}
int main()
{
std::cout << sum(3, 10, 20, 30) << std::endl;
}
出力
60
バージョン
言語
- C++03