2023-06-07 23:27
门头沟学院 C++ s1x:原理是因为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。
0 点赞 评论 收藏
分享
关注他的用户也关注了: