因为类成员函数指针只能写成 &类::函数, 不能写成 &对象->函数
调用类成员函数指针时要写成 (对象->*指针)(参数),例如:
MyClass * obj = new MyClass(...);
int(MyClass::*p)(int,int) = &MyClass::function; // not &obj->function
(obj->*p)(1,2); // obj->function(1,2)
反正语法挺诡异的,每次要用到类成员函数指针时我都得网上搜一搜才能回忆起来。
【 在 lobachevsky 的大作中提到: 】
: 我试了一下,简化成了下面的样子(当然比你的例子复杂一点).
: 本质上,我需要在gfunc(实际上在另外一个文件里面)里面去调用执行myclass里面的函数指针.所以写得有点啰嗦:
: #include <iostream>
: ...................
--
FROM 58.33.81.*