关于一个函数指针的讨论
void(*(*)(void(*)()))()
求解析,虽然知道是函数指针,但是无法解析,特别是两个(*)
[解决办法]
都表示指针类型。例如:
int ( * p )( int ); //p是函数指针
去掉p,就是int (*)( int ),即函数指针类型了。
void(*(*)(void(*)()))()是函数指针类型(不是函数指针),这个类型指向的函数有一个函数指针形参(就是那个void( * )() ),返回类型也是函数指针类型,这个函数指针类型指向的函数的形参为未知(在C中)或者void(在C++中),返回类型为void。
看见这种东西不要害怕,多练习练习右左法则就行了,熟练之后可以抛开右左法则,直接目视。