theneoiceman
Messages postés78Date d'inscriptionlundi 14 avril 2003StatutMembreDernière intervention23 avril 2010 27 févr. 2005 à 14:39
Le fait est que quand tu appelles ta fonction menu_nouv_machine avec
comme parametre "pc", le programme créé une copie de cette variable qui
sera utilisée pour la fonction et qui sera détruite à la fin de ta
fonction ! Pas très intéressant dans ton cas tu me diras donc tu as 2
solutions :
Soit tu programmes en C++ et là tu modifies ta fonction
menu_nouv_machinepour qu'elle prenne en paramètre un a (machine
&pc) et c'est tout. Comme ça ta variable sera pasé par référence et
ca sera fini tout marchera.
Soit tu programmes en en C simple, dans ce cas tu as 2 solutions
possibles, tu t'arranges pour que ta fonction retourne ta structure
modifiée mais je crois pas que ca t'irait rste donc la derniere
solution : tu modifies le parametre de ta fonction menu_nouv_machine
pour qu'elle prenne en paramètre une machine *pc, ensuite dès que tu
voies un pc.quelque chose tu le remplaces par pc->quelque chose car
maintenant pc est un pointeur. De plus quand tu appelles
menu_nouv_machine(pc) par exemple remplace ça par
menu_nouv_machine(&pc); Sauf si bien sur pc est un pointeur à sa
declaration et dans ce cas tu ne modifies pas l'appel de cette fonction.
Voilà j'espère avoir été clair. Sur ce bonne prog !