0
我以爲我們可以調用沒有模板參數的模板函數。 爲什麼只有當我將模板參數指定爲double時,此代碼才能工作?模板參數推導與模板參數
#include <iostream>
template <typename T>
T max(T x, T y)
{
return x > y ? x : y;
}
int main()
{
cout<<::max(3,4.7)<<"\n"; //Error
cout<<::max<int>(3,4.7)<<"\n"; //Error
cout<<::max<double>(3,4.7)<<"\n"; //Works
}
第二個確實編譯 - http://ideone.com/dGQdF –
http://codepad.org/l6rByNk1 – cppcoder
這是一個警告,雖然被視爲錯誤。 –