【C言語】invalid lvalue in unary ‘&’

“invalid lvalue in unary ‘&'” とは、単項アドレス演算子 & の左辺値として不正な値が使われている場合に出るエラーのことです。以下に例を示します。

int main() {
  // 単項アドレス演算子の左辺値として不正な値が使われている
  &10;
}

上記のコードでは、数値リテラル 10 を単項アドレス演算子の左辺値として使用しているため、エラーが出ます。この場合、以下のように修正する必要があります。

int main() {
  // 単項アドレス演算子の左辺値として使用できる識別子を使用する
  int x = 10;
  &x;
}

このように、単項アドレス演算子の左辺値としては識別子のみが使用できます。

コメント

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