Bonjour à tous,
Mon problème me semble quelque peu étrange, je vais donc essayer de l'expliquer clairement.
Voici la classe que j'ai réalisé pour un jeu :
Et voici la définition des méthodes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class CJoueur { private : char _Nom[20]; public: CJoueur(char *Nom); int ObtienNom(char * MonNom); };
Mon problème est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Le constructeur CJoueur::CJoueur(char *Nom){ strcpy(_Nom, Nom); } // La fonction qui donne le nom int CJoueur::ObtienNom(char * MonNom){ strcpy(_Nom, MonNom); return 0; }
des que j'utilise le fonction obtienNom(), plus rien ne s'affiche sur la console.
En cherchant la cause de ce problème j'ai trouvé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //Voici le Main : #include <iostream.h> #include "Joueur.h" int main(){ CJoueur J("paul"); char Nom[20]; J.ObtienNom(Nom); cout << "essai" << endl; // rien ne se passe return 0; }
si je met en commentaires strcpy dans la fonction ObtienNom tout redevient normal, et la console affiche essai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int CJoueur::ObtienNom(char * MonNom){ //strcpy(_Nom, MonNom); return 0; }?????? (je n'ai aucune erreur ni de warning)
si quelqu'un comprend ce qui se passe, Merci d'avance!
![]()
Partager