表达式必须是可修改的左值

问题描述 投票:0回答:1

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

方法:

void Item::checkPNA()
{


        if ((pna.length() = !6)||(pna[2]=!"-"))
        {
            cout<<endl<< "Niepoprawny format kody pocztowego! Poprawny format: \"00-000\". Spróbuj ponownie: ";
        }

我正在使用的类的结构:

 class Item
{
  public:

string nazwisko, imie, ulica, pna, miasto, attrib;
int id, len;
c++ lvalue
1个回答
1
投票

简单语法错误,字符是!=而不是= !=!,并且是'-'而不是"-"

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

应该是

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

您也不需要所有这些括号

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

我认为更容易阅读。

© www.soinside.com 2019 - 2024. All rights reserved.