如何将对函数的引用传递给另一个函数

我一直在阅读有关函数指针以及将它们用作其他函数的参数的内容。

我的问题是如何在不使用指针的情况下通过引用传递函数?我一直在网上找答案,但是没有找到好的答案。

我知道您可以通过引用传递变量,如下所示:void funct(int& anInt);。如果参数不是对变量的引用,而是对函数的引用,您会如何做类似的事情呢?

另外,如何在函数体中使用对函数的引用?


解决方案

#include <iostream>
using namespace std;

void doCall( void (&f)(int) )
{
    f( 42 );
}

void foo( int x )
{
    cout << "The answer might be " << x << "." << endl;
}

int main()
{
    doCall( foo );
}

相关文章