关于成员函数指针的一个问题
#include <iostream>using namespace std;
class Point
{public:
Point(int xx=0,int yy=0){X=xx;Y=yy;}
int GetX(){return X;}
int GetY(){return Y;}
private:
int X,Y;};
int main()
{Point A(4,5);
Point *p=&A;
[bo]int (Point::*p_GetX)()=Point::GetX;[/bo]
cout<<A.GetX()<<endl;
cout<<p->GetX()<<endl;
cout<<(A.*p_GetX)()<<endl;}
我用VC++2005编译时粗体字一行出错,我不明白为什么要改成“&Point::GetX”,函数名不就是代表其起始地址的吗?