Merci pour ce début de réponse, je commence à comprendre le fonctionnement du cast mais je ne vois pas comment l'utiliser avec des pointeurs génériques.
C’était ma réelle question mais j'ai trop simplifié mon problème.
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 | struct num_int
{
int val;
};
 
struct num_float
{
float val;
};
 
struct toto
{
// a est soit de type struct num_float soit de type struct num_int
 void *a;
};
 
void foo(struct toto *b)
{
 
b->a->val = 0;
} | 
 Quand je compile ce code, j'obtient :
error: request for member `val' in something not a structure or union