设置没有插入

时间:2013-12-08 10:04:30

标签: c++ iterator

我有一个问题,我的代码似乎在尝试插入集合时卡住了。

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包含很多单词。这编译并且不循环。如果我删除插入,它会反复进行。为什么这个插件会造成这么多麻烦?

1 个答案:

答案 0 :(得分:2)

首先为lexset分配内存:

lexset = new set<string>;

并修复您的word_list拼写错误