C/C++指向函数的指针问题
在c中,我们知道函数名,代表函数的首址...
直接可以用int (*p)( )=f; //f为一个非类的普通函数
调用函数时也可以直接:p( );
而在C++类中的类函数,定义指向函数的指针时必须加&,如:
int (point::*function_p)( )=&point::getx;//point 为类,getx为类中函数
使用函数时也必须用:(p1.*function_p)( );
这是为什么呢??函数名不是代表函数的首址吗,赋给函数指针时为什么还要取地址呢??
C语言都是这样的,C++为什么不一样呢??