Tableau de String

Signaler
Messages postés
27
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
29 juillet 2004
-
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010
-
Bonjour,
c est pas compliqué je pense mais qd on sait pas c est embetant. Peut on retourner un tableau de string :
je veux faire

string ::mafct()
{
string tab[3];

return *tab;
}

la je recupere forcement que le premier element
mais je les voudrai tous

Merci merci

2 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
dans ton exemple, tab est déclaré sur la pile en local, en retournant un pointeur sur ce tableau, la fonction appelante ne pourra pas y accéder (plus exactement le pointeur ne sera pas valide).

il faut créer dynamiquement le tableau et le retourner (new, malloc).
string* ::mafct()
{
string* tab=new string[3];

return tab;
}

PS : prévoir la libération de la mémoire
Messages postés
509
Date d'inscription
samedi 28 juin 2003
Statut
Membre
Dernière intervention
3 août 2010

Tu peux declarer static la variable tab ,comme ça tu n'auras pas de probleme pour la libération de memoire.
string* ::mafct()
{
static string tab[3];

return tab;
}