Digaboy a écrit :
Bonjour je suis en train de travailler sur une fonction qui a besoin d'un tableau de structure en argument. J'essaye de passer à ma fonction un pointeur vers ce tableau de structure mais je n'arrive pas à faire comprendre à mon compilo ce qu'il faut Code :
- //Ma structure
- typedef struct
- {
- int Identifiant;
- int Index;
- char Nom[50];
- } s_Infos;
- main(void)
- (
- s_Infos MyName[10];
-
- //Action sur My Name ...
-
- CheckInfos(MyName);//le problème est ici ! je ne comprend pas comment passer ce paramètre !
- }
- void CheckInfos(s_Infos* Data[])
- {
- //Code
- }
| Si vous avez des idées, je suis preneur quand j'appel ma fonctionne comme ça
Code :
- CheckInfos(MyName);
|
j'ai le message
argument of type "s_Infos *" is incompatible with parameter of type "s_Infos **" | quand j'appel ma fonctionne comme ça
Code :
- CheckInfos(&MyName);
|
j'ai le message
argument of type "s_Infos (*)[10]" is incompatible with parameter of type "s_Infos **" |
|
(Edit pour plus de simplicité)
Code :
- void CheckInfos(s_Infos **Data)
- {
- //Code
- }
|
Re-edit : En fait, non, j'ai faux. Tu dois juste passer un pointeur sur le premier élément dans ton cas. Tu n'as pas besoin de plus.
Code :
- void CheckInfos(s_Infos *Data)
- {
- //Code
- }
- main(void)
- (
- s_Infos MyName[10];
-
- //Action sur My Name ...
-
- CheckInfos(MyName);
- }
|
devrait fonctionner. Attention, cela dit, c'est souvent une meilleure habitude de passer la taille de ton tableau en paramètre supplémentaire.
Message édité par theShOcKwAvE le 06-02-2014 à 17:31:38
---------------
last.fm