我的编译器抱怨处理str.size函数的代码行“表达式不可分配”。我不能说我错了。有人可以帮忙吗?我正在将字符串传递给函数并尝试获取其长度。
int ValueString::value(string str)const
{
int length;
str.size() = length;
return length;
}
最佳答案
str.size()
返回无法分配的R值。length
是L值,可以分配给它。
你的意思是:
int ValueString::value(const string& str)const
{
int length;
length = str.size();
return length;
}
当然,这可以简化为:
int ValueString::value(const string& str) const
{
return str.size();
}
可能会进一步简化。