Fonction qui renvoit une chaine... - C++ - Programmation
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*
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
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* ?
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 !
Marsh Posté le 05-11-2006 à 15:33:39
| sergeith a écrit : non je suis bien en C++ ^^  | 
 
Bon, ben comme KangOl,  ![[:pingouino] [:pingouino]](https://forum-images.hardware.fr/images/perso/pingouino.gif) 
 
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 !
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) 
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 ?