错误:函数模板无法将 从 'int' 转换为 'double'

Error: Function Templates, cannot convert , from 'int' to 'double'

本文关键字:int 转换 double 函数模板 错误      更新时间:2023-10-16

我正在尝试实现一个函数模板

template <class T>
T max(T& t1, T& t2)
{
    return t1 < t2 ? t2 : t1;
}

,我称它为max<double>(33, 44.2),所以我希望它会转换成双精度并给我双精度的结果,而不是我得到一个错误:

不能转换,从"int"到"双"

不使用引用(或使用const引用)也可以使用:

template <class T>
T max(T t1, T t2)
{
    return t1 < t2 ? t2 : t1;
}

max<double>(33, 44.2)