单选题
👁️ 浏览量:

试题题干

以下函数声明,正确的是( )

A

void func1(int a=1, int b, int c=3);

B

void defaultvaule1(int a=2, double b);

C

void func2(int a=1, int b=2, int c)

D

void defaultvalue2(int a, double b=3.0);

参考答案

正确答案:

试题解析

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

另外,在函数原型中,可以省略形参的名字,而只给出它的类型及默认值。

故本题选D。ABC中有默认值的形参的右侧都出现了无默认值的形参。