-4
この単純なコードは、コンパイル時に次のエラーが発生します。C++では、参照は左辺値または右辺値を返しますか?
error: lvalue required as left operand of assignment
しかし、&b
は実際には左側にあります。では、エラーメッセージはどういう意味ですか?
この単純なコードは、コンパイル時に次のエラーが発生します。C++では、参照は左辺値または右辺値を返しますか?
error: lvalue required as left operand of assignment
しかし、&b
は実際には左側にあります。では、エラーメッセージはどういう意味ですか?
この文脈では、&
は、番地のオペレータです。 &b
の値はint *
のポインターです。それは価値がある。これは、宣言(参照の宣言を意味する)の中の&
シンボルの使用とは無関係です。記号は、宣言子で式とは異なるものを意味します。
変数のアドレスは変更できません。変数は、生涯にわたって同じアドレスを持ちます。
コードには参照がありません。 – juanchopanza
参照に値を割り当てることはできません。正しい方法は 'b = a'です。 – Charles
あなたは正確に何をしようとしていますか?どうして 'b = a;'だけではないのですか?あなたはポインタについて学んでいますか?それは 'int * b =&a;'になります。 – CoryKramer