我不明白这段代码
double f(int a, double b){return a+b;}
int f(int c, int d){return c-d;}
int main() {
int i = f(1,2.1F);
}
2.1F是什么意思?我认为这是精确的,并且将被调用的函数将是int f。但是我错了。它会调用双f,为什么?非常感谢你。
答案 0 :(得分:1)
f
(或F
)后缀使文字为float
- 由于转换为double
会将其截断为int
,因此优先将其转换为from foo import *
答案 1 :(得分:0)
cppreference涵盖了数字宣传和转化之间的区别。