我有一個函數參數的問題。我有一個函數A,它調用一個函數B.我必須寫什麼而不是?歸檔該函數將所有參數傳遞給函數B?如何將參數列表傳遞給C++中的另一個函數?
#include <iostream>
#include <stdarg.h>
void functionA(int a, ...);
void functionB(int a, ...);
int main()
{
functionA(2, 5, 13);
return 0;
}
void functionA(int a, ...)
{
functionB(a, ???);
}
void functionB(int a, ...)
{
va_list params;
va_start(params, a);
for(int i = 0; i<a; i++)
{
std::cout << va_arg(params, int) << std::endl;
}
va_end(params);
}
請勿使用可變數量的參數。這是一個愚蠢的想法,而不是安全的 –
你爲什麼要做意大利麪條? –
你可能想查找可變參數模板。他們至少會讓你更乾淨地做到這一點(例如,不會破壞型號安全)。 –