编程论坛
注册
登录
编程论坛
→
C++教室
函数调用,实参缺省问题
震中地带
发布于 2013-01-07 17:46, 462 次点击
int fun(int a=1,int b=2,char c='*'){}
这个函数可以这样调用吗:fun(5)或者fun(5,'#')或者fun(5,7)
5 回复
#2
不玩虚的
2013-01-07 17:59
不会吧,你上机试下就知道啦
,好浪费,别介意!
#3
尹金魁2031
2013-01-07 18:04
还没有见过这个样式的?
#4
震中地带
2013-01-07 18:21
回复 2楼 不玩虚的
刚考试题目里出现的,非常想知道,现在在图书馆,手头没电脑,所以问下
#5
震中地带
2013-01-07 22:40
总结一下:对于int fun(int a=1,int b=2,char c='*'){}
这样的函数的调用,实参可以缺省,但必须和形参列表相对应,否则就会出现错误,fun(5)或者fun(5,'#')或者fun(5,7) 中fun(5)和fun(5,7)能正确调用,而fun(5,'#')则不能正确调用,它能把5传给a,'#'的ascii值传给b,c默认为'*'。
#6
mayuebo
2013-01-08 10:37
可以,参数后面的默认值就是你没有为参数时,默认的值.但顺序不能变.支持楼上
1