1
有人可以幫助我瞭解爲什麼這些2個函數調用是一把雙刃劍:曖昧重載函數參考
int greater(int i, int j) { return (i > j ? i : j); }
double greater(double x, double y) { return (x > y ? x : y); }
int main(){
int i = 10, j = 5;
double x = 7.7, y = 14.5;
cout << greater(i, j);
cout << greater(x, y);
}
從G ++確切的錯誤是:
reference to ‘greater’ is ambiguous cout << greater(i, j);
這是波爾教授的優秀圖書上C++程序員。我正在編譯g ++(GCC)4.9.2。 謝謝你, Mainecat
歡迎來到堆棧溢出,順便說一下。 –
謝謝,我學到了很多東西。 – LACat