Passer un tableau de char en paramètre

Résolu
DeadStar117 Messages postés 4 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 1 septembre 2011 - 15 mai 2009 à 21:16
DeadStar117 Messages postés 4 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 1 septembre 2011 - 21 mai 2009 à 17:07
Bonjour,

Je cherche à passer des tableaux de char en paramètre à mes procédure mais je n'y arrive pas.

Voila un exemple de code:

GestionArbre GeAr;

String^ chaine;

char
mot[30];
int
x;
int
y;
int
depart;
String^ ligne;
Arbre *XY;

//Obtient le sommet de l'arbre

GeAr.getSommet(XY);

//Compte le nombre de ligne dans le premier listbox

x = lstAffichage->Items->Count;

for
(
int
i = 0; i<x; i++)
{
      ligne = lstAffichage->Items[i]->ToString();
            y ligne->Length;      depart 0;

      for
(
int
j=4; j<y; j++)
      {            mot[j-4] = Convert::ToChar(ligne->Substring(j, 1));

            if
(ligne->Substring(j, 1) ==
" "
)      {

      GeAr.comparer(mot[],XY,i);

}

Ensuite, m'a procédure qui la recoit ressemble à sa:

GestionArbre::comparer(

char X[30], Arbre *feuille,
int ligne)

Hors, cela ne fonctionne pas et j'ai beau chercher je ne comprend pas.
Si quelqu'un pouvais m'aider, j'en serais très reconnessant.

Merci,

Cordialement, DeadStar

____ _______ __ / __ \___ ____ _____/ / ___// /_____ ______ / / / / _ \/ __ `/ __ /\__ \/ __/ __ `/ ___/ / /_/ / __/ /_/ / /_/ /___/ / /_/ /_/ / / /_____/\___/\__,_/\__,_//____/\__/\__,_/_/

2 réponses

Seomaz Messages postés 10 Date d'inscription jeudi 8 janvier 2009 Statut Membre Dernière intervention 19 mai 2009
19 mai 2009 à 11:06
Bonjour,
en c++, un tableau est un pointeur.
En fait, quand tu fais tableau[0], cela renvoie *tableau.
Si tu fais tableau[1], cela renvoie *(tableau++). (Faire ++ sur un pointeur vers une classe A le "décale" de la taille de A)
Donc en fait, ta fonction comparer devrait avoir cette signature:
  GestionArbre::comparer ( char * X, Arbre* feuille, int ligne)  (sans oublier le type de retour...)

et à l'appel, tu fais:
  char mot[30);
  ///....manipulation de mot
 GeAr.comparer( mot, XY, i)

voila.

P.S : de manière générale, on évite de commencer le nom de ses variables par des majuscules...
3
DeadStar117 Messages postés 4 Date d'inscription vendredi 15 mai 2009 Statut Membre Dernière intervention 1 septembre 2011
21 mai 2009 à 17:07
Merci pour ta réponse :)

<table width="100%" bgcolor="#ffffff" border="0">----, ____ _______ __
/ __ \___ ____ _____/ / ___// /_____ ______
/ / / / _ \/ __ `/ __ /\__ \/ __/ __ `/ ___/
/ /_/ / __/ /_/ / /_/ /___/ / /_/ /_/ / /
/_____/\___/\__,_/\__,_//____/\__/\__,_/_/

</td>

</td></tr></tbody></table>
0
Rejoignez-nous