我正在编写一个拼写检查程序,它实现了一个粗略的版本(为了简单起见)对拼写错误的单词进行发音。
目标:在迭代包含字典中所有单词的 SET 时,会生成一个 soundex 代码,然后插入到 Multimap 中,其中 soundex 是键,字典中的单词是相关数据。
ISSUE: For 循环迭代一次后,程序崩溃。我已将其缩小到实际插入本身的问题。
注意: d 是一个保存我的 Multimap 的指针。我的多图是 sndxMap;
代码:
ReplacementChooser::ReplacementChooser(const Dictionaries& dictionary)
{
//loop through the dictionary, giving the word to extendedsoundex
for(Dictionaries::iterator it = dictionary.begin(); it!=dictionary.end();it++)
{
string code = extendedSoundex(*it,-1);
d->sndxMap.insert(multimap<string,string>::value_type(code,*it)); //crashes
}
}