欢迎光临散文网 会员登陆 & 注册

C++ 传参double和float问题

2022-04-06 15:36 作者:云汉含星  | 我要投稿

    C++的小数在默认的情况下都是double类型,但是在使用的时候,会根据情况,自动的转为int,(当然int也会根据情况自动转为float或者是double)。

所以下面这一段的代码可以正常运行。int参数和double类型都会在调用函数的时候转为float。

但是如果我们添加再添加一个参数为int类型的函数,main函数中还是上面的函数,这时候就发现报错了!!!

这时候报错为:[Error] call of overloaded 'test(double, double)' is ambiguous

test的重载出现了不明确,原因是传参为double类型,在使用的时候会转为int或者为float类型,而二者转换是同级的,于是这时候转换就出现了二义性。

所以只需要再数字后加上f,则表明这是一个浮点。这个时候就不会出现问题了


C++ 传参double和float问题的评论 (共 条)

分享到微博请遵守国家法律