我使用这个得到一个编译错误:
std::vector<std::function<int(int)>> functions;
std::function<int(int, int)> foo = [](int a, int b){ return a + b; };
std::function<int(int)> bar = std::bind(foo, 2);
functions.push_back(bar);
错误是:
/usr/include/c++/4.6/functional:1764:40: 错误:不匹配调用 '(std::_Bind(int)>) (int)'
有人可以告诉我如何将 a 转换std::bind
为 astd::function
吗?