加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – std :: bind to std :: function?

发布时间:2020-12-16 05:21:22 所属栏目:百科 来源:网络整理
导读:我使用这个编译错误: std::vectorstd::functionint(int) functions;std::functionint(int,int) foo = [](int a,int b){};std::functionint(int) bar = std::bind(foo,2);functions.push_back(bar); 我得到的错误是: /usr/include/c++/4.6/functional:1764:
我使用这个编译错误:
std::vector<std::function<int(int)>> functions;

std::function<int(int,int)> foo = [](int a,int b){};
std::function<int(int)> bar = std::bind(foo,2);

functions.push_back(bar);

我得到的错误是:

/usr/include/c++/4.6/functional:1764:40: error: no match for call to '(std::_Bind<std::function<int(int,int)>(int)>) (int)'

有人可以告诉我如何将std :: bind转换成std ::函数?

解决方法

std::function<int(int)> bar = std::bind(foo,2,std::placeholders::_1);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读