2011-03-14 195 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)