gpt4 book ai didi

c++ - 列表迭代器不可递增 - 运行时错误

转载 作者:行者123 更新时间:2023-11-28 03:35:54 25 4
gpt4 key购买 nike

在为 movieName 添加字符串流后,我在下面的代码中得到一个不可递增的列表迭代器,我不确定如何解决该错误。我正在尝试从文件中读入并将项目添加到列表中,然后遍历列表并将电影标题中的 eash 词添加到另一个列表中。任何帮助,将不胜感激!

#include <iostream>
#include <string>
#include <list>
#include <fstream>
#include <sstream>

using namespace std;

int main()
{
list <string> movieList;
list <string>::iterator iterMovie;

list <string> *titleWordList = new list <string>;
list <string>::iterator iterTitleWord;

ifstream inFile;
inFile.open("JamesBond.txt");

if (!inFile)
{
cout << "Could not find the specified file.";
}
else
{
movieList.clear();
string movieName;

while(getline(inFile,movieName))
{
movieList.push_back((movieName));

/*
for each(string movieName in movieList)
{
titleWordList->push_back(movieName);
}
*/

stringstream ss(movieName);
while (ss >> movieName)
{
titleWordList->push_back(movieName);
}

}
}

if (movieList.empty())
{
cout << "No Data Found!" << endl;
}
else
{
cout << "Writing Output: \n\n";

for (iterMovie=movieList.begin(); iterMovie !=movieList.end(); ++iterMovie)
{
cout << *iterMovie << endl;

}

for (iterTitleWord=movieList.begin(); iterTitleWord != movieList.end(); ++iterMovie)
{
cout << *iterTitleWord << endl;
cout << &titleWordList;
}


}
}

最佳答案

第二个for有复制粘贴错误,应该是++iterTitleWord而不是++iterMovie

此外,正如@Greg 所建议的,iterTitleWord=movieList.begin()iterTitleWord != movieList.end() 应该是iterTitleWord=titleWordList-> begin()iterTitleWord != titleWordList->end() 分别。

关于c++ - 列表迭代器不可递增 - 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com