我试图编写一个函数(我们称之为函数A),它可以接收用户定义的函数作为输入(例如,用户定义的函数任意数量的变量并返回一个整数 - 我们将称这个函数为B)。我想传递函数B作为函数A的参数,只修改函数B中的一些变量,并根据需要从函数A中多次调用函数B.C++将用户定义的函数传递给另一个函数
我在想我可以得到这个通过创建函数B指针的变量并在每次调用时修改指针来工作,但是我不知道如何创建它,所以如果要传递给函数B的变量的数量未知,我可以从函数A中调用函数B 。
有没有人有任何建议,我可以如何将用户指定的函数作为参数传递给另一个函数?
简答:您不能。当你调用B时,你必须传递*一些*参数。改变这一点需要改变源代码,这意味着重新编译。如果您确实需要可变数量的参数,则可能需要编写B来接受类似于参数向量的东西。如果类型可以改变,那可能需要像'std :: vector'一样。 –