添加嵌套数据类型的元素

Adding elements of nested datatypes

本文关键字:元素 数据类型 嵌套 添加      更新时间:2023-10-16
#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);
}

我试图找出为什么上面的代码不起作用。我不断收到 seg 错误或 * 检测到 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)