c++中 函數的預設參數 學習

來源:互聯網
上載者:User

標籤:c++   一個   oid   預設參數   keyword   沒有   pre   二義性   blog   

    預設參數指的是當函數調用中省略了實參時     自動使用一個預設的值。

對於帶參數列表的函數,必須從右向左添加預設值  (就是說她的右邊肯定是先有預設的值)

fun(int ,1,2,3) 不能 fun(int,1,int,int)等情況!  夠清楚了吧!!

 

1 char* left(const char* str, int n=1);2 int main()3 {4 }5 6 char* left(const char* str, int n = 1)//錯誤7 {8 }

 

1 聲明時帶有預設參數,實現時沒有預設值 (ok)

2 實現時帶有預設參數,聲明時沒有預設值(ok)

1 char* left(const char* str, int n=1);2 int main()3 {4 }5 6 char* left(const char* str, int n )7 {8 9 }
1 char* left(const char* str, int n);2 int main()3 {4 5 }6 char* left(const char* str, int n = 1)7 {8 9 }

 

使用預設參數來替代函數重載:

如果一組重載函數(可能帶有預設參數)都允許相同實參個數的調用,將會引起調用的二義性。 

1 void func(int); //重載函數之一2 void func(int,int=4); //重載函數之二,帶有預設參數3 void func(int=3,int=4); //重載函數之三,帶有預設參數4 5 func(7); //error: 到底調用3個重載函數中的哪個?6 func(20,30) //error:到底調用後面2個重載函數的哪個?

小心小心!!!!!!!!!!!!!

 

 

  

c++中 函數的預設參數 學習

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.