“invalid lvalue in unary ‘&'” とは、単項アドレス演算子 & の左辺値として不正な値が使われている場合に出るエラーのことです。以下に例を示します。
int main() {
// 単項アドレス演算子の左辺値として不正な値が使われている
&10;
}上記のコードでは、数値リテラル 10 を単項アドレス演算子の左辺値として使用しているため、エラーが出ます。この場合、以下のように修正する必要があります。
int main() {
// 単項アドレス演算子の左辺値として使用できる識別子を使用する
int x = 10;
&x;
}このように、単項アドレス演算子の左辺値としては識別子のみが使用できます。

コメント