关注
原理是因为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
相关推荐

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
13288次浏览 185人参与
# 面试官是我前女友 #
106824次浏览 730人参与
# 实习生的蛐蛐区 #
38918次浏览 324人参与
# 当你面对裁员会如何? #
275856次浏览 2438人参与
# 计算机有哪些岗位值得去? #
12579次浏览 131人参与
# lastday知无不言 #
56791次浏览 459人参与
# 在职场上,你最讨厌什么样的同事 #
14383次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
13981次浏览 97人参与
# 说说你知道的学历厂 #
27485次浏览 174人参与
# 你找工作的时候用AI吗? #
14548次浏览 192人参与
# 下班后的时间你怎么安排 #
7161次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7124次浏览 160人参与
# 携程求职进展汇总 #
559343次浏览 4258人参与
# 面试尴尬现场 #
22975次浏览 160人参与
# 工作后会跟朋友渐行渐远吗 #
29990次浏览 216人参与
# 中核求职进展汇总 #
20092次浏览 152人参与
# 社会教会你的第一课 #
28649次浏览 388人参与
# 多益网络工作体验 #
49561次浏览 280人参与
# 虾皮求职进展汇总 #
244132次浏览 1797人参与
# 神州信息工作体验 #
15945次浏览 74人参与