【C言語】lvalue required as increment operand

“lvalue required as increment operand” というエラーメッセージは、C 言語のインクリメント演算子(++)が左辺値でない式に対して使用された場合に発生します。

例えば、次のようなコードを見てみましょう。

#include <stdio.h>

int main(void) {
  int x = 123;

  // x は変数なので、++ 演算子は適用できます。
  ++x;

  // 123 はリテラルなので、++ 演算子は適用できません。
  // そのため、このコードはエラーになります。
  ++123;

  return 0;
}

このコードでは、最初の ++x の行では x という変数に ++ 演算子が適用されています。これは、++ 演算子が適用できる左辺値であるため、問題ありません。

しかし、2番目の ++123 の行では 123 というリテラルに ++ 演算子が適用されています。これは、++ 演算子が適用できない左辺値であるため、このコードはエラーになります。

コメント

タイトルとURLをコピーしました