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,这是一个很好的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我已经浪费了很多时间思考问题出在哪里。谢谢鲍威尔,这是一个伟大的解决方案!我知道这是一个愚蠢的错误,但我浪费了很多时间思考问题出在哪里。谢谢你的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)谢谢您的回答,但我在程序头中声明了一个名称空间;)