接示例二的函数定义,这里使用typedef来实现简短的声明
void C0618Demo1() {
// 原函数声明
// int* (*fn)(int, int)
// 用typedef定义
typedef int* (*pfn)(int, int);
pfn ptr = max;
int* result;
result = ptr(2, 3);
cout << *result << endl;
delete result;
}
运行结果为:
定义数组:
void C0618Demo1() {
// 原函数声明
// int* (*fn)(int, int)
// 用typedef定义
typedef int* (*pfn)(int, int);
pfn ptr[2];
ptr[0] = max;
ptr[1] = min;
int* result;
result = ptr[0](2, 3);
cout << *result << endl;
int* result2;
result2 = ptr[1](2, 3);
cout << *result2 << endl;
delete result;
delete result2;
}
运行结果为: