初始化功能指针的向量
initialize Vector of function pointer
有人可以告诉我如何初始化功能指针的向量。`
void a(){cout << "godzilla_1";}
void b(){cout << "godzilla_2";}
void c(){cout << "godzilla_3";}
void d(){cout << "godzilla_4";}
vector<void(*)()> funcs = {a, b, c, d};
这给了我一个错误。在C 98中,您不能这样初始化。
请给我一个简单的例子。
您不得在C 11之前使用初始分散列表。以下将有效
#include <iostream>
#include <vector>
void a(){std::cout << "godzilla_1";}
void b(){std::cout << "godzilla_2";}
void c(){std::cout << "godzilla_3";}
void d(){std::cout << "godzilla_4";}
int main() {
std::vector<void(*)()> funcs;
funcs.push_back(a);
funcs.push_back(b);
funcs.push_back(c);
funcs.push_back(d);
funcs.front()();
return 0;
}
c 98:
funcs.push_back(a);
funcs.push_back(b);
funcs.push_back(c);
funcs.push_back(d);
您最好的选择是使用数组:
void (*funcs[])() = {a, b, c, d};
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 有没有一种"cleaner"的方法可以在指向基的指针向量中找到派生类的第一个实例?
- 使用向量类的c++指针
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 如何更改唯一指针向量的可见性
- C++ 独特指针练习的向量
- C 中的向量指针的清晰图
- 当向量位于内部类中时,如何删除指向对象的向量指针
- std::向量指针
- 指向结构体的向量指针错误
- 删除指向指针的向量指针时出错
- 映射不同类型的向量指针
- 在c++中传递向量指针
- 虚拟类的向量:指针是干净的方法吗
- 如何从另一个向量/对象集构造新的向量/指针集
- 模型视图控制器- c++向量指针,太多的传递
- 为什么向量指针占用这么多内存?
- 删除条目向量指针的静态映射c++
- 复向量指针
- c++数组向量指针的初始化