Bonjour,
J'ai actuellement un "problème" ; pourquoi "problème" entre guillemets ? parce que j'ai réussi à trouver un moyen de passer outre.
Je ne comprend juste pas pourquoi ça ne marche pas et ça m' énerve
voilà la fonction que j'essaye d'appeller :
avec le fichier AI.h :
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
16
17
18
19
20
21
22 void AI (AABB joueur, AABB ecran) { AABB mob; mob.surface = SDL_CreateRGBSurface (SDL_HWSURFACE, 20, 20, 32, 0, 0, 0, 0); SDL_FillRect (mob.surface, NULL, SDL_MapRGB(ecran.surface->format, 50, 50, 50)); mob.pos.x = 400; mob.pos.y = 400; if (mob.pos.x > joueur.pos.x + joueur.surface->w) mob.pos.x--; if (mob.pos.x + mob.surface->w < joueur.pos.x) mob.pos.x++; if (mob.pos.y > joueur.pos.y + joueur.surface->h) mob.pos.y--; if (mob.pos.y + mob.surface->h < joueur.pos.y) mob.pos.y++; SDL_BlitSurface (mob.surface, NULL, ecran.surface, &mob.pos); }
je l'appelle dans mon main avec un bête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <SDL.h> void AI (AABB joueur, AABB ecran); typedef struct //variable utilisée pour les collisions { SDL_Surface *surface; SDL_Rect pos; }AABB;
Cependant quand je compile il me donne cette erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part AI(joueur, ecran);
warning C4013: 'AI' non défini(e)*; extern retournant int pris par défaut
et evidemment la fonction ne fais pas effet.
Je souhaiterais juste savoir pourquoi ça ne marche pas de cette manière, alors que ça marche quand je met le header dans le fichier main. Je précise que j'ai bien mis le include du fichier contenant la fonction dans le fichier main. (d'ailleurs une question me viens : est-ce que l'ordre des includes influe quelque chose dans le code ?)
Je vous remercie d'avance pour vos réponses
Partager