其他分享
首页 > 其他分享> > error: non-const lvalue reference to type cannot bind to a value of unrelated type

error: non-const lvalue reference to type cannot bind to a value of unrelated type

作者:互联网

项目场景:

在项目代码编译中报错信息如下:

error: non-const lvalue reference to type '...' cannot bind to a value of unrelated type '...'

问题描述:

将项目问题进行简单抽象后等价于以下问题:

这样做编译通过

 int a;
 const double& m = a;

但这样做编译报错

 int a;
 double& m = a;

报错信息如标题


原因分析:

因为临时变量不能被绑定在一个non-const reference上

 double& m = a;

a是一个int变量, 会被隐式转换为double类型变量, 所以这个过程就生成了一个临时变量, non-const reference不能绑定临时变量


解决方案:

避免隐式转换, 或加const

标签:non,const,reference,double,unrelated,报错,type
来源: https://blog.csdn.net/zmhzmhzm/article/details/120932881