Je veux utiliser quelque chose pour l'infini positif. Cependant, le type de données que mon code utilise est typedef'ed par la classe d'autres personnes. Cela veut dire qu'il peut y avoir un int, un float, un double et des types assez numériques.Déterminer quel est le type de typedef
Précédemment, quand j'utilisais l'infini, je voudrais quelque chose comme INT_MAX
pour les entiers et ainsi de suite. Cependant, puis-je déterminer (au compiler) le type que j'utilise?
J'ai trouvé this réponse, mais je ne pense pas que ce soit ce que je cherche.
Mais d'un autre côté, je ne peux pas penser à une méthode élégante pour y parvenir.
Dans le code:
typedef float FT;
// in another file
//if FT is int
int inf = INT_MAX;
...
//if FT is float
float inf = FLOAT_MAX;
Mais encore, ce ne serait pas bien, parce que je veux passer comme paramètre à une fonction. Quelle serait la signature de la fonction est le premier problème qui vient à l'esprit.
[EDIT]
La signature pourrait utiliser le typedef.
"Au moment de l'exécution" n'a pas de sens. Je pense que vous voulez dire "au moment de la compilation" (par opposition à "au moment du prétraitement"). – Mehrdad