C++编译出现binding ‘const string {aka const std::__cxx11::basic_string<char>}’ to reference of type ‘std

本文介绍了在C++编程中遇到的一个编译错误,涉及const string类型的引用绑定问题。通过展示编译异常,作者详细说明了错误的原因是因为在函数参数中忘记了添加const关键字,导致const一致性问题。为解决此问题,作者修改了函数,确保const一致性,并提醒开发者在使用C++时要重视const关键字的使用。
摘要由CSDN通过智能技术生成

编译异常如下:

 

解决办法:

我的函数是这样的

 

string &larger(const string &s1, const string &s2){
    return s1.size() > s2.size()? s1 : s2;
}


改成这样就行了

 

 

const string &larger(const string &s1, const string &s2){
    return s1.size() > s2.size()? s1 : s2;
}


忘记加const

 

 

总结:

下次写函数要注意,如果参数字符串都是const,返回的引用的类型也是const,const请保持一致,在C++里面很重要,还是得把C++里面的 const关键字多总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码莎拉蒂 .

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值