gpt4 book ai didi

c++ - STL list 迭代器更改列表中的对象
转载 作者:塔克拉玛干 更新时间:2023-11-03 06:55:31 26 4
gpt4 key购买 nike

我是业余爱好者,所以请多多包涵,但我的研究已经结束,没有解决方案。

此代码符合要求,但当我调试时,很明显该过程在到达 for 循环时就存在,并且从不执​​行其中的内容(这是我需要做的)。

void insertWord(list<Word> &words, string str)
{
list<Word>::iterator itr;
for (itr = words.begin(); itr != words.end(); itr++ ) //EXITS HERE
{
if (str == (*itr).aWord)
{
(*itr).iterateCount();
return;
}
if (str > (*itr).aWord)
{
words.push_back(Word(str));
return;
}
}
}

我不明白为什么永远不会执行 for 循环。它只是直接跳到函数的末尾。

注意:“Word”是一个自定义类,用于保存一个字符串和一个 int(该字符串有多少个)。如果需要更多信息,请询问,我快死了!谢谢。

最佳答案

看起来你的列表是空的,所以 itr==words.end() 和循环中的代码永远不会执行。

关于c++ - STL list<Object> 迭代器更改列表中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10408733/

26 4 0