Sasume (./837) :
Ah parce qu’à chaque fois tu empiles les appels de fonction ?
J'ai deux situations :
- Module1 fait charger Module2 par le TaskManager, et Module2 en quittant demande au TM de repasser la main au module précédant : je dois donc empiler.
- Module1 fait charger Module2, mais n'attends pas de retour : le TM doit donc décharger Module1 avant de charger le 2.
Ces deux situations sont voulues, je dois donc être capable de détruire Module1 si j'en ai envie. Dans le cas d'un cycle (merci GC ^^), il est bien évident que je dois demander le déchargement du module précédent.
Souci avec une liste d'initialisation d'un objet (pour changer...) :
std::vector<Module> *m_ModuleList;
std::vector<int> *m_TaskList;Ces deux pointeurs sont des attributs d'un objet. Donc quand je crée cet objet, deux vecteurs sont créés, et *m_ModuleList et *m_TaskList prennent comme valeur l'adresse des-dits vecteurs.
Et donc dans ma liste d'init, je mets quoi ? Je vais pas initialiser l'adresse des vecteurs à autre chose pour le plaisir, non ? Et g++ râle si je ne mets rien...
Comment faire propre ? (à moins que je n'ai pas compris le mécanisme de la création des objets :/)






)