2011-03-14 189 views

回答

11

b爲具有0的默認值(例如)的參數所以該函數可以被調用:

foo(3, 4) 

與a和b等於3,並且4

或:

foo(5) 

與a和b等於5和0

int foo (int a=0, int b) 

是錯誤的,因爲默認參數只能出現在末端。想象一下,你有:

int foo (int a = 0, int b, int c = 1) 

,並要求它像:

foo(3, 4) 

,編譯器將不知道你是省略。爲了避免這種情況,您不能在非默認參數之前放置默認參數。

2

它設置的默認值的參數「b」按鈕函數foo,使得呼叫foo(345)相當於呼叫foo(345, 0)