我有2节课
class B {
public:
int func(int i);
};
class A {
public:
typedef int (B::*fPtr)(int);
void run();
B* mB;
};
void A::run() {
// create a pointer
fPtr p = &(B::func);
// invoke the function
mB->*p(2); <------- Compilation Error
}
我需要的是在 A 的 run 函数中创建一个指向 func() 的指针。我收到编译错误,指出 mB 不对应于具有 1 个参数的函数。
请帮忙
您需要在函数表达式两边加上括号:
(mB->*p)(2);
但正如其他人指出的那样,几乎肯定有更好的方法来完成您想做的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)