在有多個形參的函數里傳一個參數,同時還有函數承載怎么辦?(直接上代碼)
要是這樣子呢: int add(int a, int b = 2); int add(int a, int b = 2,, int c = 3); int add(int a, int b){ return a+b; } int add(int a, int b, int c){ return a + b + c; } void main() { int i = 1; add(i); } //既然可以只傳一個實參,那么現在到底會調用哪個函數?
2017-03-02
挺佩服你的細心,如果這樣寫的函數重載,編譯器由于 函數的二義性 編譯器自己也SB了,不知道選哪個函數重載好,就會出現類似的編譯錯誤 “error C2668: 'add' : ambiguous call to overloaded function”;
2017-03-02
這種情況程序會報錯,有3個int類型形參的函數已經包括2個的情況了,你可以只寫后面的那種情況,把c默認等于0就好了。