vector<list<int>> foo = { {1}, {2,3,4,5},{6,7,8},{9,10} }というデータがあったとして
それから4を探し出して削除するとします
#include<vector>
#include<list>
#include<iterator>
using namespace std;
int main() {
vector<list<int>> foo = { {1}, {2,3,4,5},{6,7,8},{9,10} };
for (auto f_it = cbegin(foo); f_it != cend(foo); ++f_it) {
for(auto s_it = cbegin(*f_it); s_it != cend(*f_it); ++s_it) {
if (*s_it == 4)s_it.erase(s_it); //Error
}
}
return 0;
}
これ以上考えても正しいコードが分からないのでどのように書き換えるべきか教えてもらえると助かります