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
}
}
모든 인수를 각 함수에 전달하는 방법을 알아야합니다. 호환성을 보장하는 것에 대해 걱정하지 마십시오. 나는 그것을 다른 곳에서 처리한다.
감사합니다.
_variadic templates_ C++ 11의 기능을 고려 했습니까? –
@ user1629821 C++ 11이 대상 컴퓨터에 설치되어 있다고 가정 할 수 있다고 생각하지 않습니다 – ewok
각 함수가 동일한 매개 변수로 실행된다는 것을 의미합니까? –