#include <iostream>
#include <list>
#include <vector>
#include <fstream>
using namespace std;
class index_table
{
public:
index_table();
void insert(string, int);
void find();
private:
class entry
{
public:
string word;
vector<int> lineNum;
};
vector<list<entry> > table;
};
index_table::index_table()
{
table.resize(128);
}
void index_table::insert(string extrWord, int extrLineNum)
{
int index = extrWord[0];
list<entry>::iterator itor = table[index].begin();
itor->word = extrWord; //why doesnt this work???
itor->lineNum.push_back(extrLineNum);
}
我试图找出为什么上面的代码无法正常工作。我不断出现段错误或*检测到glibc * ./a.out:munmap_chunk():无效的指针:0x0000000001e46020 ***
我正在创建一个作为矢量的“表”或作为条目的列表。将每个单词和行号传递给插入函数后,需要将其添加到条目类中。
int index = extrWord[0];
entry insEntry;
insEntry.word = extrWord;
insEntry.lineNum.push_back(extrLineNum);
table[index].push_back(insEntry)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句