我有一个问题,我的代码似乎在尝试插入集合时卡住了。
using namespace std;
set<string> * lexset;
void build( const set<string>& word_list )
set<string>::iterator it = word_list.begin();
while( it != word_list.end())
{
cout << *it << "before"<< endl;
lexset->insert(*it);
cout << "after" <<endl;
++it;
cout << "end of while" <<endl;
}
}
似乎在打印出“之后”的行之前卡住了。
插入前的行打印出一个字符串,我确定wordlist包含很多单词。这编译并且不循环。如果我删除插入,它会反复进行。为什么这个插件会造成这么多麻烦?
答案 0 :(得分:2)
首先为lexset
分配内存:
lexset = new set<string>;
并修复您的word_list
拼写错误