"C2101: '&' に、オペランドとしての左辺値がありません" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2101: '&' に、オペランドとしての左辺値がありません。

ソース(バグ有り):

int main() 
{
char c;
c = &'a'; }


原因:
アドレス演算子である & に関して、l-valueが適切ではありません。

アドレスが格納できる変数である必要があります。

(注意)
l-value:実態の有るオペランド
r-value:実態の無いオペランド

対処:
オペランドの使用方法を見直します。

この例では、'a'のアドレスを c に代入するのではなく、aの値をcに代入します。


ソース(修正済み):

int main() 
{
char c;
c = 'a'; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]