关于C++的一道填空题。求答案和解释

如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。求答案和解释!... 如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。

求答案和解释!
展开
 我来答
百度网友060cf83d7
2010-01-10 · TA获得超过542个赞
知道答主
回答量:150
采纳率:0%
帮助的人:0
展开全部
答案:后面
解释:编译器是按顺序来传参数的。详解如下:
1. 例如void fun(int a, int b, int c=0);那么编译器就按照a,b,c的顺序给函数fun传参数,fun函数里c是默认参数,就是说,调用fun函数时,可以不必传3个参数,可以写成fun(1,2),这样的话,a=1,b=2,c=0.
2. 如果默认参数不是在后面部分,而是在前面的话,编译器就会报错,譬如:void f(int a, int b=0, int c);这样的话,默认参数是没有任何意义的,因为你写f(1,2)的时候,编译器是把1赋值给a,2赋值给b,结果c没有赋值,故出错。
总结:为了避免出现上述的第2种情况,编译器只要检查到默认参数后面,还有非默认参数,就会报错。所以说,一个函数如果有默认参数,那么默认参数一定都放在参数列表中的后面部分,否则,编译器报错。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式