唉,理解能力有问题,希望高手点拨一下,郁闷死了(函数指针)
有关一个函数指针的问题
今天看到钱能的书有这么一句: int (* func(int))();
书上说这是一个函数声明,可是怎么理解呢,怎么使用呢???
还有就是,比如声明一个这样的函数指针
typedef int Func();
再声明一个函数
Func* func(int)();
书上说这个跟上面的那个是一样的,但怎么使用呢?
[解决办法]
这个函数跟普通函数相比,只不过是返回值特别点罢了
typedef int (*pFunType)();//这里定义一个函数指针类型pFunType func(int);//该写法与楼主的两种写法等效,函数的参数为int,返回值是一个指针(函数指针)//使用//首先你要有个函数int func2();//注意,与函数指针定义的函数类型相同,都是参数为空,返回为intfunc(int n){ return func2;//函数名即可看作指针,将其返回}//调用pFunType pf;//首先需要一个变量接受返回值,理所当然是要一个函数指针了。pf = func(0);//现在pf已经和func2等同了pf();func();//等效