bonjour,
alors j'ai un trou et je n'arrive pas a comprendre ce qui se passe, je m'explique
je fais une classe toute bête
Dans le .h
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 class Toto { public: Toto(); void choixTitre(const char *titre); ~Toto(); private: char V_titre[30]; };
Le but est de recuperer le cons char *titre et de le mettre dans l'attribut char V_titre.
Etant donnée que l'on ne peut pas faire une simple assignation je fait donc de la facon suivante :
dans le .cpp
Ce code plante et je ne comprend pas pourquoi, mais quand je fais ceci, ca marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //je zap l'initialisation void Toto::choixTitre(const char *titre) { int i = 0; while(*titre){ V_titre[i] = *titre; titre++; i++; } }
je trouve ce code identique, la seule difference est que ici, le char est declaré directement dans la methode et non dans la classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 //je zap l'initialisation void Toto::choixTitre(const char *titre) { char toto[30] = {0}; int i = 0; while(*titre){ toto[i] = *titre; titre++; i++; } }
J'ai l'impression qu'un truc simple m'echappe! mais pourquoi donc ne puis je pas recuperer const char *titre dans le char V_titre ???
Partager