string str1 = "abcd";string str2 = "acd";
const string &shorterstring(const string &string1, const string &string2)
{
return string1.size() < string2.size() ? string1 : string2;
}
string &shorter(string &str1, string &str2)
{
auto &str = shorterstring(const_cast(str1), const_cast(str2));
return const_caststr;
}
cout << shorter(str1, str2) << endl;
总是提示两个函数定义是非法的,为什么?