问题
I have been reading about function pointers and about using them as parameters for other functions. My question is how would you pass a function by reference without using pointers? I have been trying to find the answer on the Internet but I haven't found a good answer. I know that you can pass variables by reference like this: void funct(int& anInt);
. How would you do something similar to this but instead of a reference to a variable a reference to a function was the parameter? Also how would you use a reference to the function in a function body?
回答1:
#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 );
}
Cheers & hth.,
来源:https://stackoverflow.com/questions/7142883/chow-to-pass-reference-to-function-into-another-function