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