为了账号安全,请及时绑定邮箱和手机立即绑定

出现bug吗?

在函数重载里面定义了两个函数,为什么我调用fun(1.1),结果会是1 20 30呢?

正在回答

2 回答

并不是;

我猜你的代码是这样的

void fun (int a = 10 , int b = 20 , int c = 30);//定义

void fun (int a, int b , int c ){//实现

    cout << a << "," << b << "," << c << endl;

}

在mian里面写的是

fun(1.1);

你这样相当于

int a = 10;

int b = 20;

int c = 30;

a = 1.1;//因为这个a是int的,是一个整数,没有小数点,所以小数点被丢弃了。

所以打印出来就是

1,20,30


你可以试试,就算这个值,你设置的是1.99,它也会变成1

0 回复 有任何疑惑可以回复我~

你的代码发出来看看啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

出现bug吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信