在C++中,函數的形參可以是指向函數的指針,函數也可以返回函數的指針。
例如:
int (*ff(int)) (int *,int);表示:ff(int)是一個函數,帶有一個int型的形參,該函數返回int (*) (int *,int),它是一個指向函數的指針,所指向的函數返回int型并帶有兩個分別是Int*和int型的形參。
使用typedef可使得定義更加易懂:
typedef int (*PF) (int *,int);
PF ff(int);
下面給出一個例子:
void fff(int *i,int j)
{
cout<<"fff"<<endl;
}
void (*f(int))(int* pi,int i)
{
cout<<"cheng"<<endl;
return fff;
}
typedef void (*((*pf)(int)))(int*,int);
int main()
{
pf p;
p=f;
int i;
int *ip;
p(i);
return 0;
}
新聞熱點
疑難解答
圖片精選