[c++] Programme plante à la toute fin de l'execution

Programme plante à la toute fin de l'execution [c++] - C++ - Programmation

Marsh Posté le 22-10-2001 à 19:29:21    

A la fin de l'exécution, après que tout se soit apparemment bien déroule, je mets un cin.get() fictif pour arreter mon programme une ligne avant la fin, et une fois que je presse ENTER, et qu'il n'y a plus rien a faire à part quitter, il plante
 
l'instruction à "blablaba..." emploie l'adresse mémoire "0x0000000"... la mémoire ne peut etre "read"..
 
j'emploie des tableaux de structures, et je lis le tout dans un fichier... je suis sous VC++
 
Quelqu'un peut m'aider ?

Reply

Marsh Posté le 22-10-2001 à 19:29:21   

Reply

Marsh Posté le 22-10-2001 à 19:31:29    

au fait, important peut-etre, pour de debuggage il m'envoie dans la classe <XSTRING>

Reply

Marsh Posté le 22-10-2001 à 20:05:36    

Tu n'as pas du liberer la memoire utilisée par la classe en question. Verifie s'il n'y a pas une fonction de la classe à appeler avant la destruction de celle-ci...
 
C'est un peu tordu mais ca m'est arrivé avec pas mal de biblio (SDL)

 

[edtdd]--Message édité par Willythekid--[/edtdd]


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 22-10-2001 à 20:10:41    

c pas vraiment une classe... c'est une bête :  
 
struct type_membre          // Structure comprenant les infos
{                           // sur les employes
 char nom[taille_nom_max+1];
 int nb_heures;
 float tarif_hor;
};
 
type_membre fichier_employe[nb_employes_max];

Reply

Marsh Posté le 22-10-2001 à 20:12:13    

je ne vois pas comment libérer cette mémoire !

Reply

Marsh Posté le 22-10-2001 à 20:14:31    

Oui bon...alors je peux pas faire grand chose sans info. Bon t'as des pointeurs dans ton code, ou dans celui d'une librairie utilisé. Y a forcement des process d'alloc de mémoire.
Tu filer ton code ou il y en a trop?


---------------
Si t'es pas net, reste a la buvette
Reply

Marsh Posté le 22-10-2001 à 20:16:21    

non je peux :

 

[edtdd]--Message édité par kowalski--[/edtdd]

Reply

Marsh Posté le 22-10-2001 à 20:16:42    

quelle horeur sans les tab !

Reply

Marsh Posté le 23-10-2001 à 02:20:21    

Il faut passer listing par référence, ajouter & dans la déclaration du prototype et l'entête de la fonction LireInfo :
 
int LireInfo(type_membre fichier_employe[], ifstream &listing);
 
Ça fonctionne bien comme cela.  
 
A+

Reply

Marsh Posté le 24-10-2001 à 03:08:05    

merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed