33,311
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
//为了方便代码阅读自定义函数指针类型
//定义了一个函数指针类型:f_ptr只能指向带一个int类型参数且没有返回值的函数
typedef void (*f_ptr)(int);
//因为*的优先级关系,所以要用括号,否则就定义了一个返回指针类型的普通函数了
void foo1(int a)
{
cout << "foo1:" << a << endl;
}
void foo2(int a)
{
cout << "foo2:" << a << endl;
}
f_ptr fun()
{
return &foo2;
}
int main()
{
f_ptr arr[2] = {&foo1, &foo2};
for(int i = 0; i < 2; ++i)
arr[i](i);
fun()(5);
return 0;
}