求解vector 中的find_if用法

fjun_1118 2016-12-24 11:50:03
有个问题比较困惑,请教各位大侠:vector<unique_ptr> 中find_if算法的lamd参数怎么写呢?

std::unique_ptr<int> aq = std::make_unique<int>(0);
std::vector<std::unique_ptr<int>> vect;

vect.push_back(std::move(aq));
auto a = std::find_if(vect.cbegin(), vect.cend(), [](std::unique_ptr<int> qq)->bool {return qg==0?true:false; });

提示:
c:\program files (x86)\microsoft visual studio 12.0\vc\include\algorithm(44): error C2280: “std::unique_ptr<int,std::default_delete<_Ty>>::unique_ptr(const std::unique_ptr<_Ty,std::default_delete<_Ty>> &)”: 尝试引用已删除的函数
...全文
120 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
paschen 版主 2016-12-24
  • 打赏
  • 举报
回复
参数按常量引用传递,而不是复制 std::unique_ptr<int> qq 改成: const std::unique_ptr<int>& qq 后面的: qg==0? 改成: qq==0?
fjun_1118 2016-12-24
  • 打赏
  • 举报
回复
const std::unique_ptr<int > & qg 找到了

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧