[C++] Segmentation fault avec les vectors

Darktib -  
 Darktib -
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.
Configuration: Windows Xp
Internet Explorer 7

2 réponses

  1. Darktib
     
    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
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    A priori, il y a des chances que certains de tes childs n'aient pas été instanciés....
    -1