[c++] char * en param de fonction

Résolu
hof -  
 hof -
Bonjour,

voici une version simplifié de mon code

void ma fonction(){
char * nom=NULL;

creerNom(nom);
cout<<nom<<endl; // ca plante ici
}

void creerNom(char * p ){
p = "fred";
cout<<p<<endl; // ca marche
}

ca passe a la compile mais a l'execution ca plante a cause du "char *"
je ne peux utiliser qu'un char *, pas de string
je vois pas trop quoi faire, pourrize vous m'aider

merci d'avance
Configuration: Windows Vista
Firefox 3.0.5

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Normal, tu passes une copie du pointeur. Donc il ne sera pas modifié par la fonction. Tu dois utiliser un double pointeur.
    Teste plutôt :
    void creerNom(char ** p ){
    *p = "fred";
    cout<< *p<<end;
    } 

    Et pour l'appeler :
    char *nom=NULL;
    creerNom(&nom);
    

    Cdlt
    0