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
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++;
    }
}
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
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++;
    }
}
je trouve ce code identique, la seule difference est que ici, le char est declar� directement dans la methode et non dans la classe.


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 ???