[問題] Template函式範本的問題....

看板C_and_CPP作者 (時時警惕自己...)時間15年前 (2009/02/10 12:54), 編輯推噓3(309)
留言12則, 4人參與, 最新討論串1/1
向各位大大請益,這是我在書中所看到的範例... 但我覺得有問題的部份就是 為什麼template的命名是maxt而在main function去呼叫時是用max? 這是我個人很困擾,也不曉得其中機轉的部份! 可以請各位幫我解答嗎?謝謝.... 我的作業環境是Visual Studio 2008 以下是程式碼: #include <iostream> using namespace std; template <class T> T maxt( T x, T y) { if(x>y) return x; else return y; } int main() { int a,b; double da,db; cout << "Please input 2 int: " << endl; cin >> a >> b; cout << "Please input 2 double : " << endl; cin >> da >> db; int ans1 = max(a, b); double ans2 = max(da, db); cout << " Max int = " << ans1 << endl; cout << " Max double = " << ans2 << endl; return o; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.147.111

02/10 13:05, , 1F
是阿 的確是沒呼叫到 maxt
02/10 13:05, 1F

02/10 13:06, , 2F
原本內建的 max 就是具有這樣的 功能了
02/10 13:06, 2F

02/10 13:09, , 3F
c大,我爬過一些文,您都有提到原本就有,那是什麼意思?
02/10 13:09, 3F

02/10 13:11, , 4F
何謂內建的?像是命名到swap的template,您都請他更名
02/10 13:11, 4F

02/10 13:24, , 5F
iostream本來就有max這個函式http://0rz.tw/wPMSk
02/10 13:24, 5F

02/10 13:28, , 6F
謝謝樓上大大!讓我來K一下這個網站唄....
02/10 13:28, 6F

02/10 13:30, , 7F
sorry 是在algorithm裡:(
02/10 13:30, 7F

02/10 13:35, , 8F
VC2008 max in xutility swap in utility
02/10 13:35, 8F

02/10 13:52, , 9F
是return 0不是return o。在你的max上輕輕的按一下右鍵
02/10 13:52, 9F

02/10 13:52, , 10F
選移至定義就好了...
02/10 13:52, 10F

02/10 14:12, , 11F
z大,謝囉....剛才有特別注意,沒想到被您抓包...
02/10 14:12, 11F

02/10 14:13, , 12F
c大謝謝你唷.....不過,我又混了,我快去查一下
02/10 14:13, 12F
文章代碼(AID): #19aGY0s5 (C_and_CPP)