execution plantée en accédant directement au membre list d'une classe
Bonjour,
Mon programme plante lorsque j'utilise directement le membre list "facts" pour le remplir via la fonction setFactsList2.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Entity.h :
class Entity
{
public :
int id;
string name;
list <Fact> facts; //facts
public :
...
void setFactsList2(const std::list<Fact>& newFacts);
}
Entity.cc :
void Entity::setFactsList2(const std::list<Fact>& newFacts) {
for (std::list<Fact>::const_iterator i = newFacts.begin(); i != newFacts.end(); ++i) {
facts.push_back(*(i));
}
}
void Entity::addFacts(list<Fact> factsSource, Entity *entity){
list<Fact> factsDest = entity->getFactsList();
unit(factsSource, &factsDest);
entity->setFactsList2(factsDest);
} |
Lorsque je commente la ligne "facts.push_back(*(i));", l'execution fonctionne.
Auriez vous une idée sur l'origine du problème ?
Merci d'avance.