vector iterator not incrementable问题
求助!存在vector容器buffers里的stack<int>数据类型,在执行下面的代码时发生错误,调试时发现是循环最后buffers为空时使用size()发生错误,可是为什么呢?如何修改呢?望解答,谢谢。
while (!buffers.empty()) {
for (auto it = buffers.begin(); it != buffers.end(); it++) {
while (!buffers.empty() && it != buffers.end() && it->empty()) {
if (buffers.size() > 1)it = buffers.erase(it);
else {
buffers.erase(it);
break;
}
}
if (buffers.size()!=0) //这一步运行时出现vector iterator not incrementable的问题
if (it != buffers.end() && (b.empty() || it->top() == b.top() + 1)) {
b.push(it->top());
it->pop();
}
}
}