Bonjour,
J'ai besoin d'un conseil car je ne comprend pas cette erreur "conflicting types".
J'ai mis le prototype de la fonction dans le fichier header: editeur.h.
J'ai écris la fonction dans le fichier source: editeur.c.
Et je l'utilise dans ce même fichier.
J'utilise la SDL et j'essaye de redimensionner un rectangle(ça fonctionne hors fonction, mais c'était moche).
Et je reçois toujours cette erreur:
C:\prog\Projects\2DjumpGame\editeur.c 407 error: conflicting types for 'redimensionnerRect'
C:\prog\Projects\2DjumpGame\editeur.c 194 error: previous implicit declaration of 'redimensionnerRect' was here
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void redimensionnerRect(int xMod, int yMod, int wMod, int hMod, long currentRect, SDL_Surface **sol, SDL_Rect **posSol, SDL_Surface *ecran) { sol[currentRect] = SDL_CreateRGBSurface(SDL_HWSURFACE, posSol[currentRect]->w + wMod , posSol[currentRect]->h + hMod, 32,0,0,0,0); SDL_FillRect (sol[currentRect], NULL, SDL_MapRGB(ecran->format, 50, 50, 50)); posSol[currentRect]->x += xMod; posSol[currentRect]->y += yMod; }
et voici le prototype contenu dans editeur.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part redimensionnerRect(-1,0,1,0,currentRect, *sol, *posSol, ecran);
Code : Sélectionner tout - Visualiser dans une fenêtre à part void redimensionnerRect(int xMod, int yMod, int wMod, int hMod, long currentRect, SDL_Surface **sol, SDL_Rect **posSol, SDL_Surface *ecran);
Mais je ne suis pas sûr d'une chose: dois-je faire un #include de mon fichier editeur.h dans le fichier editeur.c?
Et, tant que j'y suis, j'ai lu quelque part qu'il ne fallait pas remettre l'include des librairies utilisées dans tous les fichiers du projet: "... cela va à l'encontre de la règle de l'encapsulation"(d'après l'auteur d'un post).
Mais si je ne le fait pas, il me bombarde d'erreurs.
Dois-je inclure le main.c dans tous mes fichiers pour palier à ce problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #include <stdlib.h> #include <stdio.h> #include <SDL.h> #include <SDL_image.h> #include <SDL_ttf.h>
En est-ce un?
Voilà, j'arrête avec mes questions.
D'avance merci pour vos réponses!
Partager