我想将实例化对象的成员函数传递给另一个函数。示例代码如下。我打开任何可行的策略,包括使用lambda或std :: bind之类的函数从memberfuncpointertestclass中的另一个函数调用functional()。请注意,我并不了解大多数关于lambda或std :: bind的google搜索结果,所以请尽可能保持简单。另请注意,我的集群没有C++ 11,我想保持功能()尽可能简单。谢谢!作为回调的成员函数
int functional(int (*testmem)(int arg))
{
int a = 4;
int b = testmem(a);
return b;
}
class memberfuncpointertestclass
{
public:
int parm;
int member(int arg)
{
return(arg + parm);
}
};
void funcpointertest()
{
memberfuncpointertestclass a;
a.parm = 3;
int (*testf)(int) = &a.member;
std::cout << functional(testf);
}
int main()
{
funcpointertest();
return 0;
}
为什么不传递对象并调用方法? – dlp