c++ 之函數重載
是靠(233)將實參和所有被調函數的行參類型一一比較來判定的.按以下先后順序找到并調用該函數
在調用一個重載函數時,編譯器必須弄清楚函數名是指向哪個函數,是靠(233)將實參和所有被調函數的行參類型一一比較來判定的.按以下先后順序找到并調用該函數:
1 通過嚴格類型匹配,如果找到了,就用該函數
2 通過內部轉換,只要找到了,就用該函數
3 通過用戶定義的轉換,尋求一個匹配,若能查出唯一的一組轉換,,就用該函數
void print(long);
void print(double);
void f(int a){
print(a); //典型錯誤,因為具有二義性
}
在調用一個重載函數時,編譯器必須弄清楚函數名是指向哪個函數,是靠(233)將實參和所有被調函數的行參類型一一比較來判定的.按以下先后順序找到并調用該函數:
1 通過嚴格類型匹配,如果找到了,就用該函數
2 通過內部轉換,只要找到了,就用該函數
3 通過用戶定義的轉換,尋求一個匹配,若能查出唯一的一組轉換,,就用該函數
void print(long);
void print(double);
void f(int a){
print(a); //典型錯誤,因為具有二義性
}
posted on 2004-12-29 19:11 Khan 閱讀(428) 評論(0) 編輯 收藏 引用 所屬分類: GCC/G++

