类方法调用的C++指针

类方法调用的C++指针,c++,pointers,methods,C++,Pointers,Methods,在我的Tabla类中,我有一个指向方法的公共指针: public: int (Tabla :: *punterofunc)(int,int); 我主要将其指向一个类方法: tablita.punterofunc = &Tabla :: in_lineal; 但是这个电话不行 tablita->punterofunc(num,0); 试试这个: tablita.*punterofunc(num,0); 我认为您正在寻找这种美味的语法: ((tablita).*(ta

在我的Tabla类中,我有一个指向方法的公共指针:

public:
    int (Tabla :: *punterofunc)(int,int);
我主要将其指向一个类方法:

tablita.punterofunc = &Tabla :: in_lineal;
但是这个电话不行

 tablita->punterofunc(num,0);
试试这个:

tablita.*punterofunc(num,0);

我认为您正在寻找这种美味的语法:

((tablita).*(tablita.punterofunc))(num,0);
tablita.punterofunc是一个成员函数指针。在对象o上调用指向成员函数p的指针的通用语法为:


只需将其应用到代码中。在所有情况下,有些参数可能不是必需的不确定,但如果你坚持这样做,它应该一直工作。

您收到了什么异常/错误?/home/freinn/Desktop/tablashash/main.cpp | 29 |错误:“->”的基操作数具有非指针类型“Tabla”|我已经完成了,但是…/home/freinn/Desktop/tablashash/main.cpp | 29 |错误:'punterofunc'未在此范围内声明|什么?这个没有合成糖吗?我几乎不能称之为美味这是C++常见问题解答建议使用宏进行调用的唯一情况之一。
((o).*(p))(args...);