[英]Remove item from QStringlist using iterator
我试图遍历QStringList
,打印字符串,然后将其从列表中删除。 我似乎找不到有效的QStringList
方法! 例如:
for ( QStringList::Iterator it = commandList.begin(); it != commandList.end(); ++it ) {
out << "Processed command: " << *it << endl;
*it.erase();
}
给出编译器错误: 'QList :: Iterator'没有名为'erase'的成员
++it
如果删除通过列表中的项目中途可能会失败) 另一个解决方案是使用QMutableStringListIterator ,它可以用作任何其他迭代器,但是它具有您要查找的“删除”方法。
QMutableStringListIterator i(list); // pass list as argument
while (i.hasNext()) {
i.remove(); // delete current item
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.