Bty.
2021-02-02 11:20
采纳率: 0%
浏览 348

表达式必须是可修改的左值怎么解决

void Change(string &s,const string &oldVal,const string &newVal) {
    auto l = oldVal.size();
    if (!l)
        return;
    auto a = s.begin();
    while (a <= s.end()-l) {
        auto b = a;
        auto c = oldVal.begin();
        while (c!=oldVal.end()&&*b=*c) { //这里报错显示c不可以修改
            b++;
            c++;
        }
    }
 }

c是一个常量string的迭代器,报错表达式必须是可修改的左值,把const string改成string仍然没有用。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • wlj1234 2021-02-07 13:07

    *b==*c

    1 打赏 评论

相关推荐 更多相似问题