Bonjour,
pour un projet d'université on nous a demandé de créer plusieurs classes qui héritent de conteneurs de la STL. Mais j'ai lu ensuite ici que ce n'était pas une bonne idée et qu'il valait mieux passer par une composition, sauf que tout mon code est déjà fait.
Le problème c'est que je me retrouve avec des erreurs franchement incompréhensibles alors que jusqu'ici tout fonctionnait bien. Pour résumer j'ai ces classes :
Et j'ai des segmentation fault parfois dans une fonction toute simple parcourant la liste (dans Route), parfois dans les destructeurs de List et à l'instant même sur une simple affectation de valeur dans un int un peu plus loin (je suppose que gdb s'est embrouillé sur ce coup là).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 class Route : public std::list<int> class Solution : public std::vector<Route>
Je précise que ça ne plante dés le début, ça boucle sur plusieurs fichiers et les premiers fonctionnent tout à fait. Je n'ai pas réussi à voir la différence de contexte.
Est-ce que quelqu'un aurait une piste de ce qui peut se passer ? est-ce que définitivement ces héritages sont imprévisibles et que je dois tout modifier pour une composition ?
Merci d'avance.
Partager