亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

在有多個形參的函數里傳一個參數,同時還有函數承載怎么辦?(直接上代碼)

要是這樣子呢: 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); } //既然可以只傳一個實參,那么現在到底會調用哪個函數?

正在回答

2 回答

挺佩服你的細心,如果這樣寫的函數重載,編譯器由于 函數的二義性 編譯器自己也SB了,不知道選哪個函數重載好,就會出現類似的編譯錯誤 “error C2668: 'add' : ambiguous call to overloaded function”;

0 回復 有任何疑惑可以回復我~
#1

qq_SillyFox4422909 提問者

非常感謝!
2017-03-02 回復 有任何疑惑可以回復我~
#2

qq_SillyFox4422909 提問者

細心…… 也許是我的學習方法與眾不同吧,我遇到不懂的東西經常刨根問底,甚至很多時候都不好意思問下去了,問得別人都煩了。。。 要是自己看書找資料自個鉆研就會花很長時間,到頭來可能就變為徒勞,所以結果不盡人意、差強人意,最終不了了之。 真羨慕別人能夠快速學會某樣東西,難道這就是細節決定成敗 與 成大事者不拘小節矛盾糾紛嗎? 總之謝謝你的解答~
2017-03-02 回復 有任何疑惑可以回復我~

這種情況程序會報錯,有3個int類型形參的函數已經包括2個的情況了,你可以只寫后面的那種情況,把c默認等于0就好了。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之離港篇
  • 參與學習       122678    人
  • 解答問題       493    個

C++掃清通往面向對象的最后一道障礙,將所有知識點融會貫通

進入課程

在有多個形參的函數里傳一個參數,同時還有函數承載怎么辦?(直接上代碼)

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號