读书人

关于一个函数指针的议论

发布时间: 2013-10-12 11:54:04 作者: rapoo

关于一个函数指针的讨论
void(*(*)(void(*)()))()

求解析,虽然知道是函数指针,但是无法解析,特别是两个(*)
[解决办法]

引用:
Quote: 引用:

从里向外看,然后利用楼上博客说的右左法则!

两个(*)怎么解释


都表示指针类型。例如:

int ( * p )( int ); //p是函数指针

去掉p,就是int (*)( int ),即函数指针类型了。

void(*(*)(void(*)()))()是函数指针类型(不是函数指针),这个类型指向的函数有一个函数指针形参(就是那个void( * )() ),返回类型也是函数指针类型,这个函数指针类型指向的函数的形参为未知(在C中)或者void(在C++中),返回类型为void。

看见这种东西不要害怕,多练习练习右左法则就行了,熟练之后可以抛开右左法则,直接目视。

读书人网 >C++

热点推荐