我正在尝试遍历QStringList
,打印字符串,然后将其从列表中删除。我似乎无法找到有效的QStringList
方法!例如:
for ( QStringList::Iterator it = commandList.begin(); it != commandList.end(); ++it ) {
out << "Processed command: " << *it << endl;
*it.erase();
}
给出编译错误:'QList :: Iterator'没有名为'erase'的成员
++it
可能会失败)答案 0 :(得分:7)
另一个解决方案是使用QMutableStringListIterator,它可以用作任何其他迭代器,但它具有您正在寻找的“删除”方法。
QMutableStringListIterator i(list); // pass list as argument
while (i.hasNext()) {
i.remove(); // delete current item
}