我想删除
的元素 vector<Vec2f> lines;
添加一个我知道必须要做的新元素
lines.push_back(a,b);
同样如何从中删除元素。
我试过了:
lines.pop_back(a,b);
lines.remove(a,b);
lines.delete(a,b);
请告诉我应该如何删除数组元素。
答案 0 :(得分:1)
lines.push_back(a,b);
错了。您需要push_back()
一个Vec2f
,例如
// initialize Vec2f 'v' with values a, b
cv::Vec2f v(a, b);
// add to container
lines.push_back(v);
然后你就可以使用:
lines.pop_back();
删除Vec2f
末尾的lines
或:
lines.erase(lines.front() + i);
其中i
是您要删除的元素的索引,而后者会删除您所选位置的元素。
为了进一步解释,vector
仅用作Vec2f
的容器,即它实际上并不知道如何专门处理Vec2f
数据。相反,它被指定处理抽象的template classes。