SNp*_*Npn 7 c++ segmentation-fault
所以当我运行这个函数时,我就是错误的
class vector <Record<value> >::iterator itr = records.begin();
for (; itr != records.end(); ++itr) {
if (itr->isSelected()) {
itr = records.erase(itr);
recordSize--;
}
}
Run Code Online (Sandbox Code Playgroud)
我的向量所在的位置vector <Record <value> > records;,函数isSelected()只是在boolean选择对象时为true,否则为false.
有人可以帮助我,我没有看到这样做的问题
在你删除最后一个元素的情况下,itr首先是records.end()因为那records.erase()将返回,然后你用它递增它++itr.尝试:
while (itr != records.end()) {
if (itr->isSelected()) {
itr = records.erase(itr);
recordSize--;
} else {
++itr;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6228 次 |
| 最近记录: |