有没有办法va_list
从头开始创建?我正在尝试调用一个以 ava_list
作为参数的函数:
func(void **entry, int num_args, va_list args, char *key);
...来自一个不接受可变数量参数的函数。我能想到的唯一方法是创建一个中间函数,它接受可变参数,然后传递它的 va_list,这很愚蠢:
void stupid_func(void **entry, char *key, int num_args, ...) {
va_list args;
va_start(args, num_args);
func(entry, num_args, args, key);
va_end(args);
}
有没有更好的办法?我无法更改func
的签名。