我在这样的矢量上调用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)
);
删除满足条件且最初放置在向量背面的项目。但是,最初放在中间的项目未被删除!
我知道您无法从此草案代码中重现。但任何微小的提示都会受到赞赏。