Pendant une carte de carte, quelle est la bonne façon d'insérer des données?C++ - Insérer des données dans la carte de la boucle de carte
En premier moment dans mon code à l'intérieur d'une fonction i insérer des données à ma carte de carte comme celui-ci (et son bon travail):
outMap[TYPE_REQ_USER][req->number] = req;
Après cette ma taille de la carte est 1.
Au deuxième moment, à l'intérieur d'une autre fonction, j'ai besoin d'itérer la carte et si j'ai trouvé la clé TYPE_REQ_USER
j'ai besoin d'ajouter une nouvelle donnée à la carte de la carte. J'essaie comme ça, mais après j'imprimer la taille de la carte et nous dit son 1 et non 2 (prévu)
Ma carte de boucle carte pour insérer des données:
for (outMap_t::iterator itOutMap = outMap.begin(); itOutMap != outMap.end(); ++ itOutMap)
{
for (intMap_t::iterator itInMap = itOutMap->second.begin(); itInMap != itOutMap->second.end(); ++itInMap)
{
if (itOutMap->first == TYPE_REQ_USER)
{
//map insert
outMap[TYPE_REQ_USER][req->number] = req;
}
}
}
Alors quel est le problème dans mon boucle d'insertion?
MODIFIER deux
Alors maintenant la même tonalité (TYPE_REQ_USER) i peuvent avoir deux éléments distincts.
Alors sais quand je suis en train de parcourir la carte et supprimer les éléments de la clé que je vais avoir l'erreur de défaut de segmentation, parce que dans la première itération je fais:
qnRunningType_JobId.erase (itOutMap);
Mais dans la deuxième itération j'ai l'erreur de défaut sementation parce que je suis en train de supprimer le itOutMap
mais nous l'avons déjà supprimé dans la première itération ..
Passez-vous votre carte des cartes à la fonction par référence? Vous pouvez être en train de le copier afin de ne pas effectuer de changements persistants dans votre fonction. Également, remplacez-vous la valeur par erreur plutôt que d'ajouter une nouvelle valeur? – hnefatl
Nop, parce que la carte des cartes appartient à la classe où j'ai la fonction. Donc, son seul appel la carte de la carte – RMRMaster
Poster un peu plus de code - les bits pertinents des deux fonctions et la classe dont ils sont membres. – hnefatl