我在這裏看到了有關如何將可變參數從一個函數傳遞到另一個函數的問題的答案,這些函數聲明使用va_list傳遞給第二個函數。太好了,我想這一點,的va_start不喜歡va_list的傳遞的傳遞......如果你通過va_list將可變參數的參數傳遞給另一個函數,你怎麼稱呼va_start(沒有錯誤)
void foo(const char *str, va_list args) {
va_start(args, str);
//do something
va_end(args);
}
void foo(const char *str, ...) {
va_list args;
foo(str, args);
}
從我得到這個錯誤G ++:
error: ‘va_start’ used in function with fixed args