原理是因为int&会被隐式转换成float&&,而float&会被隐式转换成int&&。 #include <iostream> using namespace std; void f(int&& ) { cout << "int"; } void f(float&&) { cout << "float"; } void p(int &x) { f(x); } void p(float &x) { f(x); } int main() { float x=1.0; int y=2; p(x); p(y); } 至于为什么会这么转换,我个人认为可能是bug。
15 4

相关推荐

東大沒有派對:这是好事啊(峰哥脸
我的秋招日记
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务