【问题标题】:The expression must be a modifiable l-value表达式必须是可修改的左值
【发布时间】:2020-07-07 02:52:06
【问题描述】:

我一直在使用我的基本对象编程技能用 C++ 编写一个简单的数据库,但我遇到了一个我不知道如何解决的问题。在我的方法中,我试图检查用户提供的输入的正确格式。为了实现这一点,我需要知道输入字符串有多长。不幸的是,弹出一个错误,该表达式对我来说是可修改的左值。我一直在寻找答案,但我并没有真正理解解决方案。请用外行的话向我解释我做错了什么? 谢谢!

我正在使用的类的结构:

class Item
{
  public:
  void checkPNA()
  {
    if ((pna.length() = !6)||(pna[2]=!"-"))
    {
        cout<<endl<< "Niepoprawny format kody pocztowego! Poprawny format: \"00-000\". Spróbuj ponownie: ";
    }
  }
  string nazwisko, imie, ulica, pna, miasto, attrib;
  int id, len;
};

【问题讨论】:

标签: c++ lvalue


【解决方案1】:

简单的语法错误,一个字符是!= 不是= !=!,它是'-' 而不是"-"

if ((pna.length() = !6)||(pna[2]=!"-"))

应该是

if ((pna.length() != 6) || (pna[2] != '-'))

你也不需要所有这些括号

if (pna.length() != 6 || pna[2] != '-')

在我看来更容易阅读。

【讨论】:

  • 谢谢你,我不敢相信我自己没看到
  • 括号太多,空格不够让你看不清,可能。
猜你喜欢
  • 2021-09-17
  • 2014-12-15
  • 2014-12-20
  • 2015-09-19
  • 2016-05-09
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多