[C++] Segmentation fault avec les vectors

Fermé
Darktib - 7 sept. 2008 à 21:36
 Darktib - 8 sept. 2008 à 20:21
Bonjour,

Pour un systeme de scripts je doit réaliser un compilateur. J'utilise pour cela une analyse 'descendante' pour avoir les noms des fonctions et autres renseignements utiles.

A un moment j'arrive a une fonction dans un classe (nommons la A) qui effectue ces opérations:

void recomputeOffset()
{
for(unsigned int t = 0; t < childs.size(); t++)
{
childs[t]->recomputeOffset();
}
// autres opérations
}

Avec childs un std::vector de pointeurs sur la classe A...
La ligne childs[t]->recomputeOffset() plante de temps en temps (plus précisement c'est la commande childs[t] qui plante) pour une raison inconnue. Les pointeurs sont crées avec new, et le seul delete possible est dans le destructeur de la classe...

C'est a rien y comprendre...

Je précise que je suis sous Code::Blocks avec GCC.

Quelqu'un a t il une idée ?
Merci d'avance.
A voir également:

2 réponses

Merci pour ta réponse.
En fait je viens de résoudre ce bug... pour en trouver un autre :

J'ai un pointeur sur une classe contenant des attributs et des méthodes publiques (rien de privé dedans).
Tout est défini dans le header donc les fonctions sont inline (mais aussi toutes virtual - sauf évidemment le cteur).

Et avec ce pointeur je peut récuperer les attributs mais pas les méthodes...

Quelqu'un a t il une idée?
Merci d'avance.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2008 à 10:40
A priori, il y a des chances que certains de tes childs n'aient pas été instanciés....
-1