“删除并删除_if”仅删除最后一项

时间:2015-12-09 08:53:23

标签: c++ c++11 vector erase

我在这样的矢量上调用erase和remove_if时遇到问题:

best_angle_inliers.erase(
    std::remove_if(begin(best_angle_inliers), end(best_angle_inliers),
        [](line_helper<cv::Point> const& item){
            return item.the_line->segment_length() < 20;
        }
    ), end(best_angle_inliers)
);

删除满足条件且最初放置在向量背面的项目。但是,最初放在中间的项目未被删除!

我知道您无法从此草案代码中重现。但任何微小的提示都会受到赞赏。

0 个答案:

没有答案