我要将一个函数传递给另一个应该与传递的函数一起运行的函数。例如:
handler(fun1("foo",2))
handler(fun2(1e-10))
处理程序类似于多次调用传递的函数。我要将处理程序、fun1、fun2 绑定到 C 函数。fun1 和 fun2 将返回一些带有指向某个 cpp 类的指针的用户数据,以便我可以进一步恢复它是哪个函数。
现在的问题是 fun1 和 fun2 在传递给处理程序之前将被调用。但是我不需要这个,我需要的是函数的种类和它的参数。但是,我应该能够在没有处理程序的情况下单独调用 fun1 和 fun2:
fun1("bar",3)
fun2(1e-5)
是否可以获取调用函数的上下文?
在输入问题时,我意识到我可以做以下事情
handler(fun1, "foo",2);
handler(fun2, 1e-10);