假设我的数据为 4 x 3 vector<vector<int> >
:
1 2 3
4 5 6
7 8 9
10 11 12
我想删除包含该元素的每一行8
,结果如下:
1 2 3
4 5 6
10 11 12
我一直在尝试做:
for (vector<vector<int> >::iterator it = v.begin(); it != v.end(); it++) {
if (find(it->begin(), it->end(), 8)) {
// I will remove the row in here
}
}
这给了我:
error: no matching function for call to 'find(std::vector<int>::iterator, std::vector<int>::iterator, int)'
我没有太多经验,stl
所以我想知道:
- 我的
find
电话有什么问题? - 在迭代向量时从向量中删除元素是否安全?
Ofc 对我的问题的任何优雅解决方案也受到欢迎。