int foo (int a , int b = 0)
我剛剛讀了這段代碼。我不明白「= 0」是什麼意思?這裏的「= 0」是什麼意思?
我也想知道爲什麼int foo (int a = 0, int b)
不能編譯。
int foo (int a , int b = 0)
我剛剛讀了這段代碼。我不明白「= 0」是什麼意思?這裏的「= 0」是什麼意思?
我也想知道爲什麼int foo (int a = 0, int b)
不能編譯。
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)
,編譯器將不知道你是省略。爲了避免這種情況,您不能在非默認參數之前放置默認參數。
它設置的默認值的參數「b」按鈕函數foo,使得呼叫foo(345)
相當於呼叫foo(345, 0)