我有一个函数需要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
你的意思是说每个函数都是用相同的参数执行的吗? –