c++ - 函数的 std::vector

标签 c++ function pointers stdvector

我想要一个 std::vector 包含一些函数,并且可以实时添加更多函数。所有的函数都会有这样的原型(prototype):

空名称(SDL_Event *event);

我知道如何创建函数数组,但是如何创建函数的 std::vector 呢?我试过这个:

std::vector<( *)( SDL_Event *)> functions;

std::vector<( *f)( SDL_Event *)> functions;

std::vector<void> functions;

std::vector<void*> functions;

但它们都不起作用。请帮忙

最佳答案

尝试使用 typedef:

typedef void (*SDLEventFunction)(SDL_Event *);
std::vector<SDLEventFunction> functions;

关于c++ - 函数的 std::vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112584/

相关文章:

c - 从指针生成整数,从整数生成指针,不进行强制转换

c - Valgrind:大小 1 的读/写无效

c++ - 如何使用 boost.lambda 和 boost.range 从容器中进行选择?

c++ - 指向对象的指针的方法不可访问

c++检测用户是否输入了字符串而不是Int

swift - 无法返回具有默认参数值的函数

使用函数为矩阵赋值时 C 程序崩溃

c - 尝试访问函数时出现段错误

c++ - 使用 boost::math::binomial_coefficient 对二项式系数进行整数计算,返回值为 boost::multiprecision::cpp_int?如何?

function - 函数在 Julia 中可以是局部的吗?这意味着什么?