出错问题代码收集
代码
std::vector<BOOL> arrTemp;
arrTemp.push_back(FALSE);
arrTemp.push_back(FALSE);
arrTemp.push_back(TRUE);
arrTemp.push_back(TRUE);
arrTemp.push_back(FALSE);
for (UINT i = arrTemp.size() - 1; i >= 0; i--)
{
if (arrTemp[i] == FALSE)
{
arrTemp.erase(arrTemp.begin() + i);
}
}
arrTemp.push_back(FALSE);
arrTemp.push_back(FALSE);
arrTemp.push_back(TRUE);
arrTemp.push_back(TRUE);
arrTemp.push_back(FALSE);
for (UINT i = arrTemp.size() - 1; i >= 0; i--)
{
if (arrTemp[i] == FALSE)
{
arrTemp.erase(arrTemp.begin() + i);
}
}
运行完i = 0的循环后,i--,i等于4294967295,判断条件i >= 0成立,没有按写代码者意愿停止循环,数组索引引用越界,报错。