编译异常如下:

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

 

解决办法:

我的函数是这样的

 

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