#include using std::cout;
using std::endl;
//宣告乙個函式模版,用來比較輸入的兩個相同資料型別的引數的大小,class也可以被typename代替,
//t可以被任何字母或者數字代替。
template t min(t& x,t& y)
因此在main()函式中呼叫的時候編譯器分不清呼叫哪個。
解決方法:
將自己定義的模板改個名字就可以了。
還有乙個方法是將模板定義成如下形式:
template
t min(t& x,t& y)
{ return(x這樣定義的話就和xutility檔案中的定義一樣了,所以編譯器編譯的時候也不會有二義性。
C 中的模板(函式模板,類模板)
1.模板是生成類或函式的框架,模板使用形參,當實際資料型別賦值給形參的時候,才由編譯器生成類或函式 2.函式模板的宣告由關鍵字template和包含乙個或多個資料型別形參的引數列表構成,形參資料型別 t 前面可以是class也可以是typename,型別形參t要用尖括號 括起來 template 或...
C 中的函式模板
我們在定義函式時,可以通過定義函式模板,來簡化一些功能相同而資料型別不同的函式的定義和呼叫過程。c 中的函式模板 對於類的宣告來說,也有同樣的問題。有時,有兩個或多個類,其功能是相同的,僅僅是資料型別不同,如下面語句宣告了乙個類 class compare int int max int min f...
C 中的函式模板
模板的意義 對型別也可以進行引數化了 template 定義乙個模板引數列表,typename也可以用class替換 bool compare t a,t b 特例化 template bool compare const char a,const char b bool compare const...