“lvalue required as left operand of assignment” というエラーメッセージは、C 言語の代入演算子(=)が左辺値でない式に対して使用された場合に発生します。
例えば、次のようなコードを見てみましょう。
#include <stdio.h>
int main(void) {
  int x = 123;
  // x は変数なので、= 演算子は適用できます。
  x = 456;
  // 123 はリテラルなので、= 演算子は適用できません。
  // そのため、このコードはエラーになります。
  123 = x;
  return 0;
}このコードでは、最初の x = 456 の行では x という変数に = 演算子が適用されています。これは、= 演算子が適用できる左辺値であるため、問題ありません。
しかし、2番目の 123 = x の行では 123 というリテラルに = 演算子が適用されています。これは、= 演算子が適用できない左辺値であるため、このコードはエラーになります。
 
  
  
  
  
コメント