??? 要從一組重載函數中找到應實際調用的那個正確版本,就需要找到實參和形參的最好匹配。一般遵循下面一些列的判斷準則:
(1)準確匹配。也就是說無須任何轉換或者只進行平凡轉換的匹配。(平凡轉換:從數組名到指針,從函數名到函數指針,從T到const T之類的)
(2)利用提升的匹配。比如整數提升(從bool到int,從char到int,shot到int之類)或者從float到double的提升。
(3)利用標準轉換的匹配。例如:int到double,double到int,double到long double,derived*到base*,T*到void*之類。
(4)利用用戶定義的轉換的匹配。
(5)利用在函數聲明中用到的...的匹配。
??? 如果能在找到匹配的某個最高的層次上同時發現了兩個匹配,這個調用將被作為歧義而被拒絕。
posted on 2007-01-24 11:47
探丫頭 閱讀(1088)
評論(1) 編輯 收藏 引用 所屬分類:
編程語言——C++