Creating a vector of pointer to functions

2019-05-20 04:25发布

How do I do this in C++? I know how to create a pointer to a function but that requires having a name for that pointer.
What I actually need is to somehow create a pointer without naming it. I know the syntax for array of ptr to functions. This might help:

out-type (*ptr[size])(parameters...)

2条回答
We Are One
2楼-- · 2019-05-20 04:58

You should really use a boost/std::function<out_type(parameters)> instead. However, to answer the question at hand, you could use a typedef

typedef out_type(*typedef_name)(param_types);
std::vector<typedef_name> vec;

Or you can just supply the vector with the type directly.

std::vector<out_type(*)(param_types)> vec;
查看更多
放我归山
3楼-- · 2019-05-20 05:16
typedef void (*ptr)(parameters...);
std::vector<ptr> v;
查看更多
登录 后发表回答