Salut,
Il faut faire très attention: une compilation réussie ne veut en AUCUN CAS dire que le programme obtenu fonctionnera : cela veut "tout juste" dire que le compilateur a parfaitement compris ce que tu lui disais, et qu'il a réussi à créer le code binaire exécutable correspondant.
Maintenant, que ce code binaire fasse effectivement ce que tu crois qu'il devrait faire, on ne peut le garantir que si le code (C++) exprime exactement ce que tu voulais dire.
Si ton programme plante, c'est que, d'une manière ou d'une autre, le code que tu as écrit est "valide" (autorisé par le langage), mais qu'il exprime quelque chose différent de ce que tu crois qu'il veut dire 
La meilleure manière d'éviter ce genre de problème est sans doute d'activer un maximum d'avertissements lors de la compilation -- si possible en faisant en sorte que chaque avertissement soit traité comme une erreur pour forcer la compilation à s'arrêter et te permettre d'y apporter une solution correcte -- car il y a énormément de situations dans lesquelles le compilateur ne peut pas décemment estimer que le code est illégal tout en se rendant malgré tout compte que ce que tu as écrit risque fort de poser problème.
Et, de toutes évidences, tu te retrouves dans une telle situation 
Maintenant, si ton programme plante directement sans rien te montrer, j'aurais tendance à penser que le problème se situe au niveau du constructeur d'une (ou peut-être de plusieurs
) des classes personnalisées qui doivent être construites pour pouvoir afficher la fenêtre principale, mais il se peut que je me trompe sur ce point 
Sans pouvoir le garantir d'aucune manière à défaut de voir le code que tu as écrit, j'aurais tendance à penser que tu t'es vautré lors de la création d'un pointeur quelconque, et que tu aurais sans doute "quelque part" une donnée membre d'une classe proche de
Type * monMembre; // je ne connait ni le type réel ni le nom du membre
qui serait dréé dans un constructeur (ou dans une des fonctions appelées par le constructeur) sous une forme proche de
Type * monMembre = new Type;
ce qui crée une variable locale à la fonction de type Type nommée monMembre qui cache la donnée membre de la classe en question
Partager