C++ carte avec une struct

Donc, j'ai obtenu ceci:

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;

Maintenant, une fonction sera appelée qui permettra de créer une entrée dans la carte avec cette structure qui permettra de définir certaines valeurs par défaut:

PeopleMap[counter].isWorking = false;
PeopleMap[counter].name = "Mr";
PeopleMap[counter].age = 1;
PeopleMap[counter].height = 1.60f;
counter++;

Maintenant, c'est la fonction que doit faire une entrée pour quelqu'un de nouveau, mais, tout au long du script, je vais supprimer certaines entrées, donc si j'ai obtenu 5 éléments, et j'ai supprimer par exemple la deuxième, puis, je veux modifier certaines variables de tout le monde dans la carte:

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;
}

Maintenant, pour une raison quelconque, il est encore l'édition de toutes les entrées, dois-je l'utiliser pour faire une structure pour chaque entrée?

Est if(PeopleMap[i] == PeopleMap.end()) partie de votre code? Parce que ce n'est pas compilé.

OriginalL'auteur Sombrero Chicken | 2012-12-02