Bonjour

J'ai quelques petit soucis technique à cause de ma médiocre connaissance des fonctions C.
Voila, je voudrais faire une fonction qui va me diviser l'argument par deux (j'ai simplifier l'action de cette fonction, en fait elle va faire plus que diviser) l'argument qui lui est transmis. Facile...
Le problème : je ne connais pas le type de l'argument de la fonction, mais c'est numérique c'est sûr, donc ca peut etre int, float ou double.
Là aussi c'est pas très dur puisque il suffit de faire une fonction ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 void add(void* x , char type)
{ switch(tolower(type))
 { case 'i' :
      *(int*)x /=2 ;
break ;
case 'l' :
*(double*) x /=2 ;
break ;
case 'f' :
*(float*)x /=2 ;
break ;
 }
}
Seulement, cette fonction suppose que l'on connait le type transmi puisqu'on l'indique en seconde argument...
Alors existe-t-il une méthode si l'on ne connait pas le type de l'argument, je voudrais une méthode portable si possible (Windows/Linux).

Merci

Nas'