下列默认参数的声明不正确的是()

下列默认参数的声明不正确的是()


A、

int max(int a,int b,int c,int d=0);


B、

int max(int a,int b,int c=0,int d=0);


C、

int max(int a=0,int b,int c=0,int d=0);


D、

int max(int a,int b=0,int c=0,int d=0);


【正确答案】:C
【题目解析】:

C++语言规定,提供默认值时必须按从右至左的顺序提供,即有默认值的形参必须在形参列表的最后。如果有某个形参没有默认值,则它左侧的所有形参都不能有默认值。故C错误,默认值应该连续出现再形参列表的最后。

调用函数时,主调函数的实参与被调函数的形参按从左至右的顺序进行匹配对应。即在调用时只能缺省后面的连续若干个实参。



Top