EDIT AVANT DE LIRE: Désolé ... Je n'ai pas ajouté newline donc il est apparu brouillé, je ne peux pas supprimer la question parce que je ne suis pas encore inscrit, désolé de perdre votre temps les gars.Simple modèle simple retournant des nombres impairs?
J'ai juste utilisé un modèle pour la première fois (pour trouver MIN de deux nombres) au lieu d'une macro, et j'ai aimé! Mais quand j'ai essayé de modifier et de faire mon propre modèle, il a complètement échoué .. Voici mon code:
#include <stdio.h>
template <class T> T min(T a, T b) {
return a < b ? a : b;
};
//My attempt now.. because add could be int, float, etc; I wanted a template.
template <class T> T add(T a, T b) {
return a + b;
};
int main(){
printf("%f\n", min(1.3, 2.2)); //(Does not appear in console?)
printf("%d", add(1, 10)); //1.300000 (how is an int show as float? lol)
printf("%f", add(5.1, 7.34)); //1112.440000
return 0;
}
Maintenant, les résultats sont étranges dans les commentaires .. Min fonctionne très bien, mais quand je le change de la comparaison à "a + b" ça arrête de fonctionner et me donne des valeurs flottantes étranges?!
Est-ce que je l'utilise dans le mauvais sens? , est-ce censé être quelque chose d'autre? Qu'est-ce que ça veut dire? Je comprends les bases donc une explication simple serait bien. Merci!
ne soyez pas désolé, juste accepter la bonne réponse. –