我想知道如何将返回函数作为参数传递给另一个函数,以便我可以使用它的值。
例子:
int childFunction(int a, int b)
{
int c;
c = a + b;
return c;
}
void motherFunction(int d, int (childFunction)(int a, int b))
{
//some operation example
}
谢谢
用于*
创建指向函数的指针:
void motherFunction(int d, int (*f)(int, int))
{
int y = f(1, 2);
}
...
motherFunction(100, childFunction);
void motherFunction(int d, const std::function<int(int,int)> &f)
{
int y = f(1, 2);
}
...
motherFunction(100, childFunction);
template <typename F>
void motherFunction(int d, const F &f)
{
int y = f(1, 2);
}
...
motherFunction(100, childFunction);
您需要将childFunction
参数声明为函数指针。
void motherFunction(int d, int (*func)(int, int))
{
func(d, 0);
}
int childFunction(int a, int b)
{
int c;
c = a + b;
return c;
}
int main()
{
motherFunction(1, childFunction);
return 0;
}