因为a和l是不同类型,而模板实例化只能按照一种类型实例化,所以用double表示函数实例化为double max(double x, double y)返回20就好理解了吧,l被向上转化为double类型,20 〉10,当然返回20
你的代码能编译通过吗?max重载了,调用会出问题的吧存在 是为了进行显示的类型转换,否则函数模板不知道T是哪个类型