// Macにはまだcpp_to_hatenaが入ってないので色分けが... cout << std::max(5, 6.5) << endl; cout << std::max(6.5, 5) << endl;
上記のようなコードをBCCでコンパイルして実行すると、どちらも結果が「6」になります。つまり std::max
そこに落ちていたC++の設計と進化には特に記述が無かったので未定義なのかも。 gcc4.0.1(OSX)で上記コードをコンパイルしようとしたら関数が見つからないとエラーを吐いたし。
うーん、いまいちよくわかりませんが、関数テンプレートのテンプレートパラメータは省略できるけれど、省略する際は型には気をつけましょうということで。