代码:
#include <iostream>
using namespace std;
#include <vector>
typedef void (*Func)(void);
void func1()
{
cout << "func1" << endl;
}
void func2()
{
cout << "func2" << endl;
}
void func3()
{
cout << "func3" << endl;
}
int main()
{
vector<Func> vf;
vf.resize(3);
vf[0] = func1;
vf[1] = func2;
vf[2] = func3;
for (auto e : vf)
{
e();
}
}
改进:
typedef void (*Func)(void);可以改为typedef function<void()> Func;,但是要添加#include <functional>这个头文件。