1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】C++使用時、代入の左オペランドにlvalueが必要なエラーについて

2022-01-09 19:47:52

質問内容

私のコードは以下の通りです。

int main()
{

   int x[3]={4,5,6};
   int *p=x;
   p +1=p;/*compiler shows error saying 
            lvalue required as left 
             operand of assignment*/
   cout<<p 1;
   getch();
}

コンパイルすると、エラーが発生します。

lvalue required as left operand of assignment error

解決方法は?

文中に代入演算子がある場合、その演算子のLHSは、その言語が「代入演算子」と呼ぶものでなければなりません。 . 演算子のLHSの評価が この場合,右辺の値を左辺に代入することはできない。

使用することはできません。

10 = 20;

から 10 には評価されません。 .

使用することができます。

int i;
i = 20;

から i が評価されるのは .

使用できません。

int i;
i + 1 = 20;

から i + 1 には評価されません。 .

あなたの場合 p + 1 には評価されません。 ラバリュー . したがって

p + 1 = p;