Fonction qui renvoit une chaine...

Fonction qui renvoit une chaine... - C++ - Programmation

Marsh Posté le 05-11-2006 à 13:05:42    

Bonjour!
 
j'ai un petit problème pour l'exo que je fais en ce moment pour mon bts...
 
j'aimerez qu'une de mes fonctions renvoye une chaine de caractère:
 
j'ai bien mis tout en haut de mon programme une include <string.h>
 
la declaration de la variable appelant et 'appel de ma fonction est:
 
char b[26];
menu(b);
 
-----------
 
et donc si je met juste  
 
char menu (char b[26]){
    traitement;
    return b;
}
 
j'ai l'erreur : "cannot convert "char" to "char *"
 
quelqu'un peut il m'aider ?  
 
 
 

Reply

Marsh Posté le 05-11-2006 à 13:05:42   

Reply

Marsh Posté le 05-11-2006 à 13:15:53    

1/ c'est <string> qu'il faut inclure
2/ pourquoi tu l'inclus si c'est pas pour l'utiliser ? utilise plutot std::string a la place de ces char*

Reply

Marsh Posté le 05-11-2006 à 13:35:38    

euh je n'utilise aucun char* justement j'essaye de les eviter... j'ai déclarer mes variable comme des tableaux de caractères...
 
"std::string" je ne connais pas :s

Reply

Marsh Posté le 05-11-2006 à 14:23:39    

[:pingouino]

Reply

Marsh Posté le 05-11-2006 à 14:33:11    

mais encore...

Reply

Marsh Posté le 05-11-2006 à 14:35:20    

Apparemment, c'est juste du C que tu fais donc, mauvaise cat.
 
Un tableau c'est quoi? Et tu renvois un char seul, si on te demande ça, t'as du voir en cours comment renvoyer un "tableau" à partir d'une fonction non?
 
Pourquoi t'évites les char* ?


---------------
.
Reply

Marsh Posté le 05-11-2006 à 15:11:22    

non je suis bien en C++ ^^
 
ah et c'est juste que ma prof nous a conseiller d'eviter les char*....
 
sinon j'ai réussi j'ai tout simplement transformer  ma fonction en procedure qui recoit en entrée/sortie mon tableau de caractère :)
 
merci quand meme !

Reply

Marsh Posté le 05-11-2006 à 15:33:39    

sergeith a écrit :

non je suis bien en C++ ^^
 
ah et c'est juste que ma prof nous a conseiller d'eviter les char*...


Bon, ben comme KangOl,  [:pingouino]


---------------
.
Reply

Marsh Posté le 05-11-2006 à 22:38:48    

#include <string>
 
std::string menu(const std::string& b)
{  
    std::string t = "Toto";
    t += b;
    return t;  
}  
 
 
par exemple...
Pour ton message d'erreur :  "cannot convert "char" to "char *" ça veut dire qu'il ne peut pas convertir b (qui est un char* ou un char[], c'est à peu près la même chose) en char tout cours. Pour renvoyer une chaine, c'est char* en C ou std::string en C++. char c'est juste un caractère !

Reply

Marsh Posté le 07-11-2006 à 18:42:45    

merci pour tes explications ( meme si je savais d'ou venait mon erreur juste je ne savais pas comment renvoyer une chaine) :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed