Return tableau de caracteres en C++

Signaler
Messages postés
9
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 mars 2004
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
Bonjour j'aimerai savoir comment retourner correctement un tableau de caractère en C++
Voici mon code qui contient une erreur au niveau du return et au niveau du d=liste2[i]->affiche_commande(i,d);
J'ai 2 classe une classe catalogue et un classe commande mon void triabulle se situant dans le classe catalogue et appelant un fonction se situant dans la classe commande

class Commande
{
public:
char *daterecep;
Commande()
{
daterecep=new(char[30]);
}
.................................
int affiche_commande(int i,char *d)
{
cout<<"\tDate de reception:"<<daterecep;
d=daterecep
return d;
}
...................................

class Catalogue
{
private:
Commande *liste2[200];
public:
char *d ;
Catalogue()
{
d=new(char[11]);
}
.....................
void triabulle(int nb_commande)
{
int i,k=0;
char c;
for(i=0; i<nb_commande; i++)
{
d=liste2[i]->affiche_commande(i,d);
}
}

Merci

6 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
int affiche_commande(int i,char *d)
si tu veux retourner d il faut définir cette fonction comme char*
char* affiche_commande(int i,char *d)

l'autre erreur devrait disparaitre du meme coup
Messages postés
9
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 mars 2004

Merci beaucoup, c t bien çà. J'avais pensé a essayer avec char mais pas avec char* ;-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
new c'est un operateur, pas une fonction
daterecep=new char[30];
Messages postés
9
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
14 mars 2004

lol merci, j'avais pas fais attention à çà
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
djl tu seras content de savoir que
daterecep=new(char[30]);
ne génère pas d'erreur de compilation
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
int i;

sizeof(i) non plus
(i)++ non plus
...

faudrait savoir qd utiliser les paranthese :D