如何在c ++中将函数推入数组?

sol*_*lti -1 c c++ arrays

假设我在c ++中具有void类型的函数

例如:

void fun1(); 
void fun2();
void fun3();
Run Code Online (Sandbox Code Playgroud)

我怎样才能将这些功能推入数组?例如:

array[0] = fun1();
array[1] = fun2();
array[2] = fun3();
Run Code Online (Sandbox Code Playgroud)

小智 8

在C中使用函数指针.

void (*array[2])();
array[0] = fun1;
array[1] = fun2;
Run Code Online (Sandbox Code Playgroud)

或者std::function在C++中:

std::function<void(void)> fn1 = fun1;
std::function<void(void)> fn2 = fun2;
std::vector<std::function<void(void)> > v;
v.push_back(fn1);
v.push_back(fn2);
Run Code Online (Sandbox Code Playgroud)

  • @Xaqq不要破坏我的答案. (3认同)
  • @Xaqq请查看编辑历史记录,不要否认已完成所做的工作.您的编辑删除了所有与`std :: function`相关的示例代码.也许这是无意的,但确实发生了. (2认同)