Bonjour,

J'ai le problème suivant: j'ai un type "mon_input" définit comme suit:

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
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:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ma_fonction (&ma_struc_entree);
où je dois redéfinir le type de "ma_struc_entree"...

Dans le programme appelant, j'ai fait ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.