Lister un tableau de string [Résolu]

Signaler
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
Soyons bref, je suis en train de bosser sur un code qui liste les srting d'un tableau, seul problème c'est qu'il y a des problèmes !
Voici mon code :

void Afficher(char * tableau, int nbr_Element)
{
for(int i=0;i<nbr_Element;i++)
{
cout<<"Tableau["<<i<<"] = "<<tableau[i]<<endl;
}
}

int main()
{
char Tableau[4][256];
int i = 0;
int nbr_Element = sizeof(Tableau)/sizeof(Tableau[0]);
int TailleLigne = sizeof(Tableau[1])/sizeof(Tableau[1][0]);

strcpy(Tableau[0], "Coucou");strcpy(Tableau[1], "Salut");strcpy(Tableau[2], "Ciao");strcpy(Tableau[3], "Slt");
for(i=0;i<4;i++)
{
cout<<"Tableau["<<i<<"] = "<<Tableau[i]<<endl;
}
cout<<endl;
Afficher(Tableau, nbr_Element);
getch();
return 0;
}

Et à la compilation il me met :
main.cpp cannot convert `char (*)[256]' to `char*' for argument `1' to `void Afficher(char*, int)'

si quelqu'un à une solution merci

10 réponses

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
moi je dirais plutot string[] ou vector<string>

sinon c'est une erreur de type d'argument comme le compilo le dit poliment

void Afficher( char tableau[][256], int nbr_Element)
{
for(size_t i=0;i<nbr_Element;i++)
{
cout<<"Tableau["<<i<<"] = "<<tableau[i]<< endl;
}
}
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
'lu

Dc ton pb est assez simple à résoudre

tu dois passer en allocations dynamique & ne plus utiliser de char[256]

avec les macros données dans un de mes premiers sources

ALLOUEn(*tab,char*,256);
for(...)
ALLOUEn(tab[i],char,30);

tu sauras compléter ce qui manque

++
Bonne prog

Magic Nono: l'informagicien! 8-)
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
djl > J'ai essayé là nouvelle fonction que tu as mis et C bon ça marche
Merci
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
avec le const aussi c'est mieux
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
exact
++
Magic Nono: l'informagicien! 8-)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ref: http://www.cppfrance.com/code.aspx?id=18786

Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
t'as oublié de mettre à jour les histoires de do{ ... }while(0)

les if feront sauter les else et les bloc seront pas dans la structure de controle voulu

et macros fonctionnelles et malloc/free, c'est mal en c++ !
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
je mettrais a jour

dès que j'aurai déménagé & que j'auré la FreeBox

y aura aussi avec new & delete

mé tu es au courant du contenu de ce fichier djl

++

Magic Nono: l'informagicien! 8-)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
finalement, tu as raison

dc

maj faite

++
Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
oui je me rappele qu'on s'etait mis d'accord, la visiblement tu avais oublié de mettre à jour