#include <iostream>
using namespace std;
//函数的第一个参数表示为指向形式为 int (函数名)(int a, int b)的函数指针
int abc(int (*p)(int x, int y), int a, int b)
{
return p(a, b);
}
int getMax(int a, int b)
{
if (a > b)
return a;
return b;
}
int getMin(int a, int b)
{
if (a > b)
return b;
return a;
}
//返回值为函数指针,
//返回值为形式为:int(*p)(int x, int y)的函数指针
//参数为int(*p)(int x, int y), int a, int b
//分别表示函数指针,变量a,变量b
//假设int(*p)(int x, int y)定义为X;
//那么函数就被简化成了 X func(X, int a, int b)
int(*func(int(*p)(int x, int y), int a, int b))(int m, int n)
{
int(*pFu)(int x, int y);
pFu = getMin;
return pFu;
}
//返回值为 int *
//返回值为指针的函数
int *fun1(int a, int b)
{
}
int main()
{
//定义了一个指向 int (函数名)(int a, int b)形式函数的 函数指针
int*(*fun2)(int a, int b);
fun2 = fun1;
int x = abc(getMax, 10, 3);
cout << x << endl;
cout << func(getMax, 10, 2)(10, 20) << endl;
return 0;
}
148

被折叠的 条评论
为什么被折叠?



