我正在为课程制作一个管理酒店的程序。 我可以成功地将客户入住房间。 但是,当我尝试从房间退房客人时,会出现运行时错误:vector iterator incompatible(向量迭代器不兼容)。我运行了调试器,并且显示问题在我的 while 循环的条件语句中,但是我无法弄清楚问题所在(我认为我正确使用了调试器)。我尝试查看其他帖子中的类似错误,但我没有能找到解决方案。有谁能帮忙?
void Customer::removeRoomID(int rID)
{
vector<int>::iterator iter;
iter = roomsCheckedInto.begin();
while(iter != roomsCheckedInto.end()) // <--DEBUGGER SAYS ERROR IN THIS LINE - ERROR: VECTOR ITERATOR INCOMPATIBLE
{
if(*iter==rID)
{
roomsCheckedInto.erase(iter);
}
}
}