小编Axe*_*F93的帖子

访问结构向量

我在访问另一个结构中的结构向量时遇到问题。可能有些事情我无法解决...

让我们有这样的结构:

struct Struct_1 {
  int Id;
  int Mode;
  string Name;
};
Run Code Online (Sandbox Code Playgroud)

这样的另一个结构:

struct Record {
  int Id;
  int StructId;
  string Name;
  vector<Struct_1> structHolder;
};
Run Code Online (Sandbox Code Playgroud)

现在我需要填写一些结构记录

int recordCount = 10;
vector<Record> recordVector(recordCount);
for(int i = 0; i < recordVector.size(); ++i){
   recordVector[i].Id = ...
   recordVector[i].StructId = ...
   recordVector[i].Name = ...
   // till now it is ok 
   recordVector[i].structHolder[i].Id = ..
   recordVector[i].structHolder[i].Mode = ..
   // and here it fails when i access vector

}
Run Code Online (Sandbox Code Playgroud)

当我尝试填充structHolder的数据时,它失败并显示“ C ++向量下标超出范围”。有人知道哪里出了问题吗?非常感谢!

c++ struct vector

4
推荐指数
1
解决办法
81
查看次数

标签 统计

c++ ×1

struct ×1

vector ×1