Bonjour ... je voudrais savoir pourquoi ce code :
l'entete de la classe Personne :
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 int main () { cout << "On cree les personnes suivantes\n"; const char* prenoms1[] = {"Marcel", "Firmin", "Gaston", 0}; const Personne marcel ("Meharcele", prenoms1, 78); Afficher (marcel); const char* prenoms2[] = {"Lea", "Germaine", 0}; const Personne lea ("Tralala", prenoms2, 45); Afficher (lea); // et si vous aviez raté quelque chose sur le constructeur prenoms1[0] = "Claudia"; prenoms1[1] = 0; Personne claudia ("Choufleur", prenoms1, 31); Afficher (claudia);
avec ce constructeur dans la classe personne :
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 class Personne { public : Personne(const char* ,const char** ,int ); const char* Nom() const; const char* PremierPrenom() const ; const char** TousLesPrenoms() const ; int Age() const ; private : const char* nom ; const char** prenoms; int age ; };
provoque cette erreur :
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
18
19 Personne::Personne(char* leNom , const char** lesPrenoms , int lage) { nom = strdup(leNom) ; int i=0; while(lesPrenoms[i] != 0) { i++;} int j=0; while (j != i) { prenoms[j] = strdup(lesPrenoms[j]) ;; j++; } prenoms[j]=0; age = lage ; }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 On cree les personnes suivantes Firmin (Firmin, Gaston) Meharcele, 78 ans Germaine (Germaine) Tralala, 45 ans Erreur de segmentation (core dumped)
Partager