这在 c++ 中可能是不可能的,但我在网上搜索并没有发现任何似乎有效的东西。
我不知道这是如何工作的,但是如果我将函数“A”传递给另一个函数“B”,我可以像这样在“A”中执行函数“B”:
template<typename Func>
void process(Func func) {
func();
}
void myVoidFunction() {
cout << "I did something!?" << endl;
}
process(myVoidFunction); // This will run myVoidFunction();
现在,我不知道如何为具有任意数量参数的函数执行此操作,我的基本理论是这样的(我希望你知道我的意思):
template<typename Func>
void process(Func func, ...) {
func(...);
}
void myNewFunction(int, int, char*) {}
process(myNewFunction, 1, 2, "Hello World!");
如果进程可以返回与给定函数相同的类型,那就更好了(如果那不是要求太多:P)
我不希望任何库这样做,我确信有一种使用 JUST C++ 的方法。请帮忙:_|