函數二義性是一種編譯時發生的錯誤,造成二義性調用的原因
是在函數匹配時兩個或多個函數提供的匹配一樣好,編譯時找
不到唯一的最佳匹配。
列:
1 #include <iostream> 2 using namespace std; 3 int fun(int a, int b = 23) { 4 return a + b; 5 } 6 int fun(int a) { 7 return a * a; 8 } 9 int main() { 10 int a = 34; 11 cout << fun(a); 12 return 0; 13 }
在此程序中,fun函數出現二義性,
出現有多個 重載函數 "fun" 實例與參數列表匹配
2019-04-13 14:46:09