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

编译异常如下:

解决办法:

我的函数是这样的

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关键字多总结。

(0)

相关推荐