读书人

C++primer第四版中7.9指向函数的指针一

发布时间: 2012-09-09 09:27:54 作者: rapoo

C++primer第四版中7.9指向函数的指针一节的问题(P276)
//func is a function type,not a pointer to function!
typedef int func(int*,int);
...
func *f3(int); //ok: f3 return a pointer to function type

Qe:最后一行是不是应该为
func (*f)(int);


[解决办法]
func *f3(int);这样写是正确的,看其注释:f3 return a pointer to function type,意思是说函数f3返回指向函数指针的指针,返回类型为int (int*, int) *;写成这样也行你就不会混淆了:func* f3(int);
小举一例:
typedef int func(int*,int);

int fxn(int*, int)
{
// TODO:
return 0;
}

func* f3(int val)
{
return &fxn;
}

int main()
{
func *ppf = f3(0);
return 0;
}

读书人网 >C++

热点推荐