假设我有一个带有静态成员B的c ++类A
class A{
static bool B( int * );
};
现在假设我想为方法B创建一个函数指针。如何实现?
我可以在没有任何参数的情况下完成:
bool ( *p) ( );
p=& A::B( ) ;
但是对于我的代码,我必须传递参数。怎么做?
答案 0 :(得分:4)
您错过了p
声明中的参数bool ( *p) (int*); // define p, note: p is a function with a 1 int* parameter
p=&A::B; // take the address of the B - no brackets here, since it is not a function call
int ii = 1;
bool b = p(&ii); // call B with a parameter