C++ 无效类型‘;int[int]&x2019;对于列表向量中的数组下标<;配对<;int,int>&燃气轮机;

C++ 无效类型‘;int[int]&x2019;对于列表向量中的数组下标<;配对<;int,int>&燃气轮机;,c++,list,vector,C++,List,Vector,我有一个具有私有属性的类: class Ranking { private: struct empar { int id_org; list <pair <int,int> > l_repr; }; vector <empar> rank; }; 班级排名{ 私人: 结构皇帝{ 国际组织; 列出报告; }; 向量秩; }; 现在,我更改了这个类,因为整数id_org不使用。然后 声明私人中庭类别:

我有一个具有私有属性的类:

class Ranking {
private:
    struct empar {
        int id_org;
        list <pair <int,int> > l_repr;
    };

    vector <empar> rank;
};
班级排名{
私人:
结构皇帝{
国际组织;
列出报告;
};
向量秩;
};
现在,我更改了这个类,因为整数id_org不使用。然后

声明私人中庭类别:

class Ranking { 
private:    
list <pair <int,int> > l_repr;  
vector <l_repr> rank;

//.............
};
类排名{
私人:
列出报告;
向量秩;
//.............
};
我可以使用以下代码访问strut:

void Ranking::sort_ranking(int id_1, int id_2, int id_3)
      list <pair <int,int> >:: iterator it = rank[id_1].l_repr.end();
          pair<int,int> rep;
      rep.first = id_1+1;
      rep.second = id_3;
      rank[id_pad].l_repr.insert(it, rep);
      //............
}
void Ranking::sort_ranking(int id_1, int id_2, int id_3)
{
list <pair <int, int> > l1= rank[id_1];
list <pair <int,int> >:: iterator it = l1.end();

// ...
}
void排名::排序排名(int-id\u 1、int-id\u 2、int-id\u 3)
list::iterator it=rank[id_1].l_repr.end();
配对代表;
rep.first=id_1+1;
rep.second=id_3;
秩[id\u pad].l\u repr.insert(it,rep);
//............
}
但是,现在我如何改变编译器崩溃

当我想通过索引访问列表时,我使用以下代码:

void Ranking::sort_ranking(int id_1, int id_2, int id_3)
      list <pair <int,int> >:: iterator it = rank[id_1].l_repr.end();
          pair<int,int> rep;
      rep.first = id_1+1;
      rep.second = id_3;
      rank[id_pad].l_repr.insert(it, rep);
      //............
}
void Ranking::sort_ranking(int id_1, int id_2, int id_3)
{
list <pair <int, int> > l1= rank[id_1];
list <pair <int,int> >:: iterator it = l1.end();

// ...
}
void排名::排序排名(int-id\u 1、int-id\u 2、int-id\u 3)
{
列表l1=排名[id_1];
list::iterator it=l1.end();
// ...
}
编译器给我发了这个消息,我不知道这意味着什么 `

Ranking.cpp:在成员函数“void Ranking::sort_Ranking(int)”中: Ranking.cpp:52:21:错误:数组下标的类型“int[int]”无效 Ranking.cpp:52:47:错误:数组下标的类型“int[int]”无效 Ranking.cpp:55:26:错误:数组下标的类型“int[int]”无效 Ranking.cpp:55:53:错误:数组下标的类型“int[int]”无效 Ranking.cpp:56:22:错误:数组下标的类型“int[int]”无效 Ranking.cpp:56:49:错误:数组下标的类型“int[int]”无效

  • 如果可能,是否要创建
    列表
    向量
  • 如何从
    向量
    访问
    列表

非常感谢容器模板,您需要一个数据类型

因此,对
l_repr
使用
typedef
关键字:

typedef   list <pair <int,int> > l_repr; 
// ^^^ 
vector <l_repr> rank;
typedef列表报告;
// ^^^ 
向量秩;

可能还有其他错误。

对于容器模板,您需要数据类型

因此,对
l_repr
使用
typedef
关键字:

typedef   list <pair <int,int> > l_repr; 
// ^^^ 
vector <l_repr> rank;
typedef列表报告;
// ^^^ 
向量秩;

可能还有其他错误。

对于容器模板,您需要数据类型

因此,对
l_repr
使用
typedef
关键字:

typedef   list <pair <int,int> > l_repr; 
// ^^^ 
vector <l_repr> rank;
typedef列表报告;
// ^^^ 
向量秩;

可能还有其他错误。

对于容器模板,您需要数据类型

因此,对
l_repr
使用
typedef
关键字:

typedef   list <pair <int,int> > l_repr; 
// ^^^ 
vector <l_repr> rank;
typedef列表报告;
// ^^^ 
向量秩;

可能还有其他错误。

应该可以创建一个int对列表的向量,int

std::vector<std::list<std::pair<int, int>>> v;
std::vector v;

但我不确定你会用它做什么,因为它相当混乱。

应该可以创建一个int,int对列表的向量

std::vector<std::list<std::pair<int, int>>> v;
std::vector v;

但我不确定你会用它做什么,因为它相当混乱。

应该可以创建一个int,int对列表的向量

std::vector<std::list<std::pair<int, int>>> v;
std::vector v;

但我不确定你会用它做什么,因为它相当混乱。

应该可以创建一个int,int对列表的向量

std::vector<std::list<std::pair<int, int>>> v;
std::vector v;


但我不确定你会用它做什么,因为它相当混乱。

你的问题会从一个简单的回答中受益。请创建一个,以便我们能够更好地帮助您。你甚至可以在创建时自己找到答案。谢谢你的澄清,现在我重新编辑这篇文章。Sorry哪一行是第56行?@sepp2k错误在这里:list::iterator it=rank[id_1].l_repr.end();当我试图抓住价值的时候。谢谢你的关注!这些错误消息与您发布的任何代码都不对应。您的问题将从中受益。请创建一个,以便我们能够更好地帮助您。你甚至可以在创建时自己找到答案。谢谢你的澄清,现在我重新编辑这篇文章。Sorry哪一行是第56行?@sepp2k错误在这里:list::iterator it=rank[id_1].l_repr.end();当我试图抓住价值的时候。谢谢你的关注!这些错误消息与您发布的任何代码都不对应。您的问题将从中受益。请创建一个,以便我们能够更好地帮助您。你甚至可以在创建时自己找到答案。谢谢你的澄清,现在我重新编辑这篇文章。Sorry哪一行是第56行?@sepp2k错误在这里:list::iterator it=rank[id_1].l_repr.end();当我试图抓住价值的时候。谢谢你的关注!这些错误消息与您发布的任何代码都不对应。您的问题将从中受益。请创建一个,以便我们能够更好地帮助您。你甚至可以在创建时自己找到答案。谢谢你的澄清,现在我重新编辑这篇文章。Sorry哪一行是第56行?@sepp2k错误在这里:list::iterator it=rank[id_1].l_repr.end();当我试图抓住价值的时候。谢谢你的关注!这些错误消息与您发布的任何代码都不对应Hanks POW,这是一个很好的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我浪费了很多时间思考问题出在哪里。谢谢你的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)