読む前に編集してください:申し訳ありませんが、改行を追加しなかったため、ごちゃ混ぜに見えました。まだ登録されていないため、質問を削除できません。時間を無駄にして申し訳ありません。
マクロの代わりに(2つの数値のMINを見つけるために)初めてテンプレートを使用したところ、気に入ったのです。しかし、自分のテンプレートを変更して作成しようとすると、完全に失敗しました。コードは次のとおりです。
#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;
}
コメントに奇妙な結果があります。Minは正常に機能しますが、比較から「a + b」に変更すると、minが機能しなくなり、奇妙なフロート値が渡されます。
私はそれを間違った方法で使用していますか?、それは何か他のものになるはずですか?どういう意味ですか?基本を理解しているので、簡単な説明で大丈夫です。ありがとうございます!