c++ - std::functions 错误 vector

标签 c++ g++ stdvector std-function

我有一个 std::functions vector ,但它无法编译。如果我这样做:

#include <vector>
#include <functional>
using namespace std;
vector<function> functions;

我得到 注意:需要一个类型,得到“函数” 错误:模板参数 2 无效。我正在使用 -std=c++11 在 g++ 上进行编译。我怎样才能让它工作?谢谢!

最佳答案

std::function要求您为其提供将函数表示为模板参数(返回类型、参数类型)所需的其他类型。没有模板参数 std::function 是未定义的,这会给你这里的错误。

因此,在尝试定义包含函数的 vector 之前,您需要先弄清楚函数的类型。

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

相关文章:

c++ - 将在 [-Wreorder] 之后初始化

c++ - 有趣的 std::copy 从 std::vector 到 std::string 的行为

c++ - 用等距值填充 std::vector<double> 的最简单方法

c++ - 链表中的运行时错误

c++ - vector.push_back 分配内存失败

c++单例在父类中创建子类

c++ - 如何手动输入数据矩阵?

c++ - 使用 g++ 从 [-Wdangling-reference] 可能出现误报

c++ - 使用 delete 调用析构函数时出现调试错误

c++ - 将图像数据复制到 cv::mat 的 vector