所以,我得到这个:C++地图与结构
struct People_Info {
bool isWorking;
std::string name;
int age;
float height;
};
int counter = 0;
int random = urand(1, 4);
std::map<uin64, People_Info> PeopleMap;
现在,函数将被调用,将创建在地图上用这个结构,将设置一些默认值的条目:
PeopleMap[counter].isWorking = false;
PeopleMap[counter].name = "Mr";
PeopleMap[counter].age = 1;
PeopleMap[counter].height = 1.60f;
counter++;
现在,这是应该为某个新人输入条目的函数,但是,在整个脚本中,我将删除一些条目,所以如果我有5个元素,并且删除了例如第二个的话,我想编辑大家的一些变量在地图:现在
for(int i = 0; i < 5 ; i++) {
if(PeopleMap[i] == PeopleMap.end()) // Don't edit map entries that are erased
continue;
PeopleMap[i].isWorking = true;
}
,由于某种原因,它仍然是编辑所有条目,做我需要使用新作,每一个结构条目?
'if(PeopleMap [i] == PeopleMap.end())'是你的实际代码的一部分吗?因为这不会编译。 –