我有一個函數需要3個參數。一個其他函數的向量,一個void *和一個任意的參數列表。該函數設計爲將void *和任意參數列表傳遞給列表中的每個函數,函數將處理它們自己。這裏是我想要的一個例子:C++:將任意數量的參數傳遞給另一個函數
typedef void (*fptr)(const void* userdata, ...);
void execute_all(vector<fptr> funcs, void* userdata, ...){
for (int i = 0;i<funcs.size();i++){
fptr func = funcs[i];
//execute func with userdata and ... from above.
//like (*func)(userdata, ...); which obviously doesnt work
}
}
我需要知道如何將所有參數轉發到每個功能。不要擔心確保兼容性。我在其他地方處理。
謝謝
你有沒有考慮C++ 11的_variadic templates_特性? –
@ user1629821我不相信我能假設C++ 11安裝在目標機器上 – ewok
你的意思是說每個函數都是用相同的參數執行的嗎? –