-1
我想實現一個函數模板錯誤:函數模板,不能轉換,從「詮釋」到「雙」
template <class T>
T max(T& t1, T& t2)
{
return t1 < t2 ? t2 : t1;
}
,我把它作爲 max<double>(33, 44.2)
,所以我希望它會轉換INT將翻一番,給我的結果上雙,而不是我得到一個錯誤:
不能轉換,從「詮釋」到「雙」
我想實現一個函數模板錯誤:函數模板,不能轉換,從「詮釋」到「雙」
template <class T>
T max(T& t1, T& t2)
{
return t1 < t2 ? t2 : t1;
}
,我把它作爲 max<double>(33, 44.2)
,所以我希望它會轉換INT將翻一番,給我的結果上雙,而不是我得到一個錯誤:
不能轉換,從「詮釋」到「雙」
它的工作沒有引用(或常量引用) :
template <class T>
T max(T t1, T t2)
{
return t1 < t2 ? t2 : t1;
}
然後
max<double>(33, 44.2)
[證明](http://coliru.stacked-crooked.com/a/2e498db6586762fd)。你忍住了我的答案:P –
更改模板參數'常量T&'。非''contst'引用不能綁定到臨時對象。 –
這不是你得到的錯誤。你試圖把一個常量當作一個左值。使用'T const&tn'。 –