创建并推回函数向量

时间:2015-03-12 14:16:14

标签: c++

我想创建一个函数向量和“push_back”它,但不知道它是如何正确完成的。 Thx,提前。这就是我到目前为止所做的:

    int a = 1;
    int b = 2;

    int function1()
    {
        return (a+b)*c;
    }

    typedef std::function<int> function1;
    typedef std::vector<function> functionsvector;


    functionvector.push_back(function1);

1 个答案:

答案 0 :(得分:4)

你不应该在这里使用typedef。这意味着您将这些类型别名化为您指定的名称,而不是创建它们的实例。

你应该这样做:

//create a vector of functions which take no arguments and return an int
std::vector<std::function<int()>> functionvector {};
//implicitly converts the function pointer to a std::function<int()> and pushes
functionvector.push_back(function1);