Ajout d'un vector qui contient lui même un vector - C++ - Programmation
Marsh Posté le 06-05-2008 à 00:06:30
Non ça n'est pas normal. Essaie avec des int dans tes vector.
Marsh Posté le 06-05-2008 à 08:53:40
pourquoi ne parierais-je pas 5cents sur un problème de FCC
Marsh Posté le 06-05-2008 à 12:01:24
Merci mais qu'est ce qu'un problème de FCC (ou ICC) ?
C'est en rapport avec le compilateur ?
Marsh Posté le 06-05-2008 à 12:24:39
Pour info, voila ce que j'obtiens comme erreur lorsque je fais un debug :
#0 0x0043625e std::__default_alloc_template<true, 0>::allocate(unsigned) (??:??)
#1 0x004309cc std::__simple_alloc<Transition, std::__default_alloc_template<true, 0> >::allocate(unsigned) (??:??)
#2 0x0043427d std::_Vector_alloc_base<Transition, std::allocator<Transition>, true>::_M_allocate(unsigned) (??:??)
#3 0x0042ec3d std::_Vector_base<Transition, std::allocator<Transition> >::_Vector_base(unsigned, std::allocator<Transition> const& ) (??:??)
#4 0x00436ca3 std::vector<Transition, std::allocator<Transition> >::vector(std::vector<Transition, std::allocator<Transition> > const& ) (??:??)
#5 0x00419edc Liste_transitions::Liste_transitions(Liste_transitions const& ) (??:??)
#6 0x00419ffe Etat::Etat(Etat const& ) (??:??)
#7 0x00438f59 void std::_Construct<Etat, Etat>(Etat*, Etat const& ) (??:??)
#8 0x0043727d std::vector<Etat, std::allocator<Etat> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Etat*, std::vector<Etat, std::allocator<Etat> > >, Etat const& ) (??:??)
#9 0x004376df std::vector<Etat, std::allocator<Etat> >::push_back(Etat const& ) (??:??)
#10 0x00402b27 Liste_etats::ajout_etat(Etat) (??:??)
#11 0x00401f19 Automate::determinisation(Automate& ) (??:??)
#12 0x004033d8 main (??:??)
Marsh Posté le 07-05-2008 à 18:18:56
La voici :
Code :
|
Elle contient la classe Liste_transitions :
Code :
|
qui est formée de transitions :
Code :
|
En fait idéalement je voudrais récupérer un objet Liste_transitions tel quel mais ça ne fonctionne pas.
Avez vous une idée ?
Marsh Posté le 07-05-2008 à 18:23:36
Est ce que le conteneur vector utilise des pointeurs avec allocation dynamique ? ou est ce qu'il est en théorie possible de récupérer une classe contenant un vector ? (comme la classe Liste_transitions)
Merci d'avance
Marsh Posté le 07-05-2008 à 21:14:52
Avec tes classes comme ça, si tu ne fais pas n'importe quoi dans ton destructeur et tes constructeurs, ça veut dire que tu quiches au niveau de la manipulation du vecteur.
Marsh Posté le 07-05-2008 à 21:17:58
Je ne fais pas de constructeur pour les classes vector. Peut être est-ce ça l'erreur ?
Par contre, je fais des destructeurs comme ceci :
Code :
|
Marsh Posté le 07-05-2008 à 22:19:37
n'importe quoi. Les destructeurs agrégés sont appelés directement
Enleve cette horreur
Marsh Posté le 08-05-2008 à 01:31:32
Merci pour les réponses. ça marche !! J'ai corrigé quelques erreurs et enlever l'horreur .
Encore merci
Marsh Posté le 05-05-2008 à 23:20:52
Bonjour à tous,
j'ai un problème d'allocation mémoire.
J'ai une classe qui contient un vector. Dans cette classe se trouve une autre classe qui contient aussi un vector.
Lorsque je récupère un élément avec l'itérateur je peux afficher les attributs. Par contre si je veux l'ajouter à une autre liste de vecteur avec la commande push_back. Il y a une erreur mémoire.
Est ce normal ? Et y a t'il une solution ?
Merci beaucoup