我想將實例化對象的成員函數傳遞給另一個函數。示例代碼如下。我打開任何可行的策略,包括使用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