Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的 Tabla 类中,我有一个指向方法的公共指针:
public: int (Tabla :: *punterofunc)(int,int);
在 main 中,我将它指向一个类方法:
tablita.punterofunc = &Tabla :: in_lineal;
但是这个电话不起作用!
tablita->punterofunc(num,0);
我认为您正在寻找这种美味的语法:
((tablita).*(tablita.punterofunc))(num,0);
tablita.punterofunc是成员函数指针。p在对象上调用指向成员函数的指针的一般语法o是:
tablita.punterofunc
p
o
((o).*(p))(args...);
只需将其应用于您的代码即可。(有些括号可能并非在所有情况下都是必需的(不确定),但如果你坚持这样做,它应该一直有效。)
试试这个:
tablita.*punterofunc(num,0);