所以我在列表中运行并擦除了不能被5和11整除的值。在我将迭代器初始化到列表的开头之后,我断言迭代器是否与开头匹配列表,但它立即失败。为什么这不起作用?
for(std::list<int>::iterator itr = numlist.begin(); itr != numlist.end(); itr++) {
assert(itr == numlist.begin());
if(*itr % 5 == 0 || *itr % 11 == 0) {
itr = numlist.erase(itr);
}
}