【发布时间】:2020-05-23 20:27:55
【问题描述】:
我想做这样的事情:
typedef int(A::*f_ptr)(int);
class A
{
int f1(int a){ /*do something*/ }
int f2(int a){ /*do something else*/ }
f_ptr pick_f(int i)
{
if(i)
return this->f1;
return this->f2;
}
}
原因是我希望 A 类的实例保存某些有用的变量,然后根据用户输入选择我需要的成员函数。但这不起作用,因为我得到“指向绑定函数的指针只能用于调用函数”。如何编写返回指向非静态成员函数的指针的函数?
【问题讨论】:
-
看到这个question。
标签: c++ pointers member-function-pointers