共计 498 个字符,预计需要花费 2 分钟才能阅读完成。
原文地址:
https://blog.csdn.net/qq_5027…
#include<iostream>
#include<vector>
#define NDEBUG
using namespace std;
// 练习 6.54-6.57 定义函数
int fun1(int a, int b) {return a + b;}
int fun2(int a, int b) {return a - b;}
int fun3(int a, int b) {return a * b;}
int fun4(int a,int b){return a / b;}
void compute(int a, int b, int p(int,int)) {// 函数指针作形参,函数类型会主动转换成指向函数的指针, 也可写成 void compute(int a, int b, int (*p)(int,int))
cout << p(a, b) << endl;
}
int main() {typedef int (*func)(int a, int b);
vector<func> v = {&fun1,fun2,fun3,fun4};// 函数名作为一个值时,& 是选加
for (auto s : v) {compute(10, 2, s);
}
return 0;
}
正文完