在我的班级Tabla中,我有一个指向方法的公共指针:
public:
int (Tabla :: *punterofunc)(int,int);
在主要内容中,我将它指向一个类方法:
tablita.punterofunc = &Tabla :: in_lineal;
但是这个电话不起作用!
tablita->punterofunc(num,0);
答案 0 :(得分:6)
我认为你正在寻找这种美味的语法:
((tablita).*(tablita.punterofunc))(num,0);
tablita.punterofunc
是成员函数指针。在对象p
上调用指向成员函数o
的一般语法是:
((o).*(p))(args...);
只需将其应用于您的代码即可。 (在某些情况下可能不需要一些parens(不确定),但如果你坚持这一点,它应该一直有效。)
答案 1 :(得分:1)
试试这个:
tablita.*punterofunc(num,0);