Witam, próbuję zrobić funkcję, która usuwa z list dany ciąg liczb M, potem dwie następne liczby zostawia i znowu usuwa (Tak do końca listy). W czasie działania tej funkcji dostaję error: Expression: list iterator not incrementable. Co mam poprawić?
void UsunCiagi(list<int> &l, int M)
{
list<int>::iterator v=l.begin();
list<int>::iterator w=l.begin();
for (int i=0; i < M; ++i)
++w;
int zm=2;
//NARAZIE NIE DODAJE PĘTLI, PONIEWAŻ MUSZĘ TO OGARNĄĆ
if(zm==2){
l.erase(v, w);
zm=0;
}
else
++zm;
++v;
++w;
}