va_list がある場合、そのすべての要素を抽出する方法を知っています。
void printInts(int n,...)
{
va_list va;
va_start(va, n);
for(unsigned int i=0; i<n; i++)
{
int arg=va_arg(va, int);
printf("%d",arg);
}
va_end(va);
}
したがって、printInts(3,1,2,3) を呼び出すと、va_list にすべてのパラメーターが入力されます。
しかし、va_start を使用せずに手動で va_list を埋めるにはどうすればよいでしょうか? 私は次のようなものが欲しいということです:
va_list va;
push_arg(va, int, 5); // And so on until I fill all parameters
...
引数として va_list を受け入れる関数があり、すべてのパラメーターの va_list を埋める方法がわからないため、これが必要です。