Problème passage de paramètres d'une structure dans une fonction

cs_sakthivel Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 19 janvier 2009 - 6 janv. 2009 à 20:10
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 7 janv. 2009 à 17:06
Bonjour,
J'aimerai bien faire une fonction qui me permettrai d'afficher un plateau de jeu(jeu des 4 chevaux) car le code de l'affichage du plateau de jeu est trop long donc il ne serai pas judicieux de le remettre a chaque fois.
Le problème c'est que cette fonction affichage a pour donné une structure(cheval) plus précisément :
affichage( cheval plateau[56])
lorsque je le compile il me met erreur car il ne reconnaît pas le "cheval" qui est une structure.
A signaler que j'ai créer un autre fichier spécialement pour cette fonction.
Peut être que je devrai marquer la structure cheval dans le fichier avant de définir la fonction mais j'ai essayé il ne reconnaît toujours pas la structure cheval..
J'aimerai bien de l'aide...
Merci d'avance
sakthi

7 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 janv. 2009 à 20:52
En C ?
Essais en ajoutant struct devant:

affichage( struct cheval plateau[56])

C++ (@++)<!--
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
6 janv. 2009 à 21:27
J'allais dire la même chose, mais en testant, non pas besoin de préciser "struct".
Voilà mon test (au cas où) :
#include <stdio.h>
struct pouet {
    int a;
    int b;
};
void affiche(pouet pipi[]) {
    for(int a=0;a < 2;a++)
        printf("%d _ %d\n",pipi[a].a,pipi[a].b);
}
int main() {
    pouet pipi[2]={{2,5},{3,6}};
    affiche(pipi);
}

Mais tu as mal expliqué ton problème, si "affichage( cheval plateau[56])" est l'appel de la fonction, alors c'est faux, on ne précise pas les types des paramètres dans les appels de fonction (ça, c'est le rôle des prototypes). Si c'est le prototype, alors donne quelques bouts de code pour y voir plus clair.

Cordialement, uaip.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 janv. 2009 à 23:09
Pas besoin de struct si compilé en C++ ou C99 aussi je crois.
Oui autrement.

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 janv. 2009 à 23:14
Non finalement ça ne fonctionne pas non plus en C99.
Omettre le struct n'est valide qu'en C++.

C++ (@++)<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
7 janv. 2009 à 12:35
Pas bête en effet (j'ai un compilateur C++, ce qui m'a faussé).
Tu as donc raison je pense, et ça me rassure car on m'avait appris à toujours mettre struct. (sauf s'il a utilisé typedef).

Cordialement, uaip.
0
cs_sakthivel Messages postés 3 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 19 janvier 2009
7 janv. 2009 à 16:17
Je vous remerci pour vos reponses j'ai trouvé la solution il fallait juste mettre struct devant super simple...
je me suis cassé la tête pour rien
merci!
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
7 janv. 2009 à 17:06
Oui, c'est ce que t'a dit SAKingdom dans son premier commentaire.
(d'ailleurs un petit "réponse acceptée" sur ce dit-commentaire permettrait d'indiquer que ce topic est résolu )

Cordialement, uaip.
0
Rejoignez-nous