[C++] Segmentation fault avec les vectors
Darktib
-
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.
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:
- Segmentation fault (core dumped) c++ vector
- Open core legacy patcher - Accueil - MacOS
- Core temp - Télécharger - Divers Utilitaires
- Core ftp - Télécharger - Téléchargement & Transfert
- Dual core vs i5 ✓ - Forum Processeur
- Erreur de segmentation (core dumped) ✓ - Forum C
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.
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.