我得到了二维向量(A)。我需要存储包含元素0的向量的行和列索引的值。
这是我的密码-
vector<pair<int,int>>v;
for(int i=0;i<A.size();i++){
for(int j=0;j<A[i].size();j++){
if(A[i][j]==0){
v.push_back(make_pair(i.first,j.second));
}
}
}但我一直在犯这个错误
'__gnu_cxx::__alloc_traitsstd::allocator错误::向量>::value_type‘{aka 'class std::
’}没有名为‘’的成员
错误:'__gnu_cxx::__alloc_traitsstd::allocator::value_type‘{aka 'class std::vector'}没有名为'second'的成员
发布于 2020-08-11 19:51:24
ints没有名为first或second的成员。
要添加表示2D索引的对向量,只需:
if(A[i][j]==0) {
v.push_back({i, j});
}发布于 2020-08-12 04:19:55
在生成对时,只需将值输入到make_pair函数中。如果您想用(i,j)值做对,那么编写make_pair(i,j)。若要访问值,请使用first和second成员。
if(A[i][j] == 0){
v.push_back(make_pair(i,j));
}要访问这些值,需要编写v[i].first和v[i].second。
发布于 2020-08-13 13:19:41
这应该能行
vector<pair<int,int>>v;
for(int i=0;i<A.size();i++){
for(int j=0;j<A[i].size();j++){
if(A[i][j]==0){
v.push_back(make_pair(i,j));
}
}
}https://stackoverflow.com/questions/63365400
复制相似问题