我使用这个得到一个编译错误:
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/function:1764:40: 错误:与调用 '(std::_Bind(int)>) (int)' 不匹配
有人可以告诉我如何转换std::bind
into a std::function
?
std::function<int(int)> bar = std::bind(foo, 2, std::placeholders::_1);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)