Если у меня есть 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_list без использования va_start? Я хочу сказать, что мне нужно что-то вроде:
va_list va;
push_arg(va, int, 5); // And so on until I fill all parameters
...
Мне нужно это, потому что есть функция, которая принимает аргумент va_list как аргумент, и я не знаю, как заполнить этот va_list всеми его параметрами.