指向成员函数的函数指针我希望将函数指针设置为一个类的成员,它是指向同一个类中另一个函数的指针。我这么做的原因很复杂。在本例中,我希望输出为“1”。class A {public:
int f();
int (*x)();}int A::f() {
return 1;}int main() {
A a;
a.x = a.f;
printf("%d\n",a.x())}但这在编译上失败了。为什么?
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
class A {public: int f(); int (A::*x)(); // <- declare by saying what class it is a pointer to};int A::f() { return 1;}int main() { A a; a.x = &A::f; // use the :: syntax printf("%d\n",(a.*(a.x))()); // use together with an object of its class}
a.x
a
a
.*
- 3 回答
- 0 关注
- 599 浏览
添加回答
举报
0/150
提交
取消