Bonjour,
J'ai le problème suivant: j'ai un type "mon_input" définit comme suit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| typedef struct {
int input_1;
double input_2;
} st1;
typedef st1 Type_1;
typedef struct {
int input_3;
double input_4;
} st2;
typedef st2 Type_2;
typedef struct {
Type_1 ma_struct_1;
Type_2 ma_struct_2;
} mon_input; |
Ce type est utilisé pour récupérer les arguments dans une fonction de la manière suivante:
1 2 3 4
| void ma_fonction (mon_input *IN_001)
{
...
} |
Maintenant, mon problème est l'appel par un autre programme à cette fonction.
Il faut que je redéfinisse le typedef "mon_input" simplement, et je ne peux pas utiliser directement "mon_input" car les noms des typedef utilisés dans ce cas sont déjà employés par ailleurs dans le programme appelant (et bien entendu ils correspondent à autre chose).
Y a-t-il une solution simple ?
Appel du type:
ma_fonction (&ma_struc_entree);
où je dois redéfinir le type de "ma_struc_entree"...
Dans le programme appelant, j'ai fait ça:
1 2 3 4 5 6 7 8 9 10
| typedef struct {
int input_1;
double input_2;
int input_3;
double input_4;
} toto;
typedef toto ma_struc_entree;
extern void ma_fonction (ma_struc_entree *IN_XXX); |
Or, je constate que les types "ma_struct_entree" et "mon_input" ne correspondent pas !!! Du coup, avez vous un moyen simple de ré-écrire le typedef de la fonction appelée (mon exemple est simple, mais si on prend le même avec des centaines de structures imbriquée !!!)...
Merci.
Partager