int interaction (SDL_Surface *ecran, int (*typeMap)[8], int (*slotAddContractOk)[2], int (*slotItemInventory)[24], int (*slotOkMap)[8], int *continuer, int *addContractType, int *showAddContract, int *slotMapQuitOk, int *showOptionChoice, int *showMap, int *menuInventory, int *shopOpen, int *itemMemory, int *itemMemoryLock, int *paper, int *inHand, int slotTradeOk[8], int slotInventorySwitchOk[2], int slotOkShop[6], int slotOkInventory[8], int slotOkOptionMap, int *Sx, int *Sy, int *Cx, int *Cy)
Et j'ai l'erreur suivante :
|1268|error: cannot convert 'Sint16* {aka short int*}' to 'int*' for argument '23' to 'int interaction(SDL_Surface*, int (*)[8], int (*)[2], int (*)[24], int (*)[8], int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int*, int, int*, int*, int*, int*)'|
Merci !
Ps: hors sujet mais doit on faire des return 0; dans les fonctions void ?
Voilà un nouveau sujet qui m'interesse. Je programme en utilisant le type abstrait de donnee qui me permet de bien organisé mes programmes et les construires sur papiers avant.
Mais y a t'ils des bons livres ou tutoriel sur la conception avec le langage C ?
Pour m'amelioré et decouvrir de nouvelles choses.
Quand je dis langage C c'est par rapport au paradigme, le TAD n'etant pas vraiment de la programmation orientée objet.
- Edité par Proteiforme 22 février 2017 à 10:03:01
C'est vraiment trop ? Je devrais faire plusieurs fonctions ou c'est juste difficile a s'y retrouver mais pas vraiment un problème ?
Tu es celui qui a écrit le code, et cette liste sans fin, t'as fait commettre une erreur de type. Imagine ce que ça sera dans 6 mois quand tu reprendra ton code ou pour la pauvre âme qui ne l'a pas écrit lui même... Oui, 23 c'est trop.
C'est vraiment trop ? Je devrais faire plusieurs fonctions ou c'est juste difficile a s'y retrouver mais pas vraiment un problème ?
Non c'est vraiment BEAUCOUP trop !
Tu devrais surtout organiser tes différentes variables dans des structures de données. Et de cette façon passer à la fonction les structures contenant les variables dont elle a besoin.
Mais ne te contente pas de créer une super sutructure qui contient toutes tes varia, ça doit suivre un raisonnement logique exemple :
// la fonction check collision verifie la colision entre deux entite
// sans structure :
int check_col(int posXE1, int posYE1, int sizeXE1, int sizeYE1, int posXE2, int posYE2, int sizeXE2, int sizeYE2);
// avec une structure entity du genre
struct s_entity {
int posX;
int posY;
int sizeX;
int sizeY;
};
int check_col(struct s_entity *E1, struct s_entity *E2);
// Et encore on peux imaginer encapsuler une structure coordonne a l'interieur d'entity
struct s_coord {
int x;
int y;
};
struct s_entity {
struct s_coord pos;
struct s_coord size;
}
Avec ce genre de découpage tu pourras (dans mon exemple), ne passer que la structure s_coord si la fonction n'a besoin que de ça, s_entity si ele a besoin de plus, etc ...
Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
EDIT: bonjour j'ai un nouveau problème ... je voulais envoyer ma structure en paramétre d'une fonction mais je ne sais pas comment m'y prendre =/ Merci de bien vouloir m'aider.
EDIT: Bon ce sujet devient hors sujet je vais crée un nouveau sujet pour mon problème. Merci beaucoup !
- Edité par Sachajoub 23 février 2017 à 20:14:26
Ne pas se décourager !
Problème d'argument .
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Bonhomme !! | Jeu de plateforme : Prototype.