我正在为我的链表实现使用 STL 列表,但是当我在循环中使用擦除函数时,它会给出分段错误。有人能告诉我为什么会这样吗?
void remove(list<int> &myList,int N){
int k = 1;
list<int>::iterator it;
for(it = myList.begin(); it != myList.end();it++){
if(k == N){
myList.erase(it);
k = 1;
}
else
k++;
}
}