C++指向类方法调用的指针

fre*_*inn 0 c++ methods pointers

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

public:
    int (Tabla :: *punterofunc)(int,int);
Run Code Online (Sandbox Code Playgroud)

在主要我把它指向一个类方法:

tablita.punterofunc = &Tabla :: in_lineal;
Run Code Online (Sandbox Code Playgroud)

但这个电话不起作用!

 tablita->punterofunc(num,0);
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 6

我想你正在寻找这种美味的语法:

((tablita).*(tablita.punterofunc))(num,0);
Run Code Online (Sandbox Code Playgroud)

tablita.punterofunc是一个成员函数指针.p在对象上调用指向成员函数的函数的一般语法o是:

((o).*(p))(args...);
Run Code Online (Sandbox Code Playgroud)

只需将其应用于您的代码即可.(在某些情况下可能不需要一些parens(不确定),但如果坚持这一点,它应该一直有效.)