Bonjour a tous(enfin plutôt bonne nuit
)
Voila, je suis en train de programmer un petit jeu, et je suis embetter par une fonction permettant de charger des informations.
Je n'arrive pas a passer un pointeur de tableau d'une structure que j'ai crée.![]()
Voici la structure :
Voici ma fonction principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 typedef struct Pnj Pnj; struct Pnj { char nom; int editeur; /*booléen indiquant si on est en mode jeu ou editeur Si c'est éditeur, le pnj ne dois pas apparaitre*/ int x; /*Position du pnj*/ int y; };
Voici le prototype de ma fonction charger_pnj :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void lancementPartie(SDL_Surface *ecran, int mode) { /*Code*/ Pnj pnj[5]; Pnj *p_pnj[5]={NULL,NULL,NULL,NULL,NULL}; for(i=0;i<5;i++) { p_pnj[i]=&pnj[i]; } charger_pnj(p_pnj); /*Code*/ }
Et enfin voici ma fonction charger_pnj :
Code : Sélectionner tout - Visualiser dans une fenêtre à part void charger_pnj(Pnj *pnj[]);
Mon compilo m'affiche ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void charger_pnj(Pnj *pnj[]) { FILE *fichier=fopen("pnj.txt","r"); int i=0; if(fichier!=NULL) { for(i=0;i<5;i++) { fscanf(fichier,"%s %d %d %d",pnj[i]->nom,pnj[i]->x,pnj[i]->y,pnj[i]->editeur); } } fclose(fichier); }
Et lorsque je lance mon programme il plante.fichier.c:324: warning: format argument is not a pointer (arg 3)
fichier.c:324: warning: format argument is not a pointer (arg 4)
fichier.c:324: warning: format argument is not a pointer (arg 5)
fichier.c:324: warning: format argument is not a pointer (arg 6)
:: === Génération finie: 0 erreurs, 4 avertissements ===
Merci d'avance![]()
Partager