我想将实例化对象的成员函数传递给另一个函数。示例代码如下。我对任何可行的策略持开放态度,包括使用 lambda 或 std::bind 从 memberfuncpointertestclass 中的另一个函数调用函数()。请注意,我不理解我在 google 上找到的关于 lambda 或 std::bind 的大部分线程,所以请尽可能保持简单。另请注意,我的集群没有 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;
}