【C言語】assignment of read-only location ‘xxx’

“assignment of read-only location ‘xxx'” というエラーメッセージは、読み取り専用の場所に代入しようとした場合に表示されます。

例えば、次のようなコードを書いたとします。

const int x = 10;
x = 20;

このコードでは、定数 x の値を 10 から 20 に変更しようとしています。しかし、定数は値を変更することができないため、このコードは “assignment of read-only location ‘x'” というエラーを引き起こします。

正しいコードは、次のようになります。

const int x = 10;
int y = x;
y = 20;

この場合、定数 x の値を変数 y にコピーし、変数 y の値を変更しています。そのため、このコードはエラーを引き起こしません。

コメント

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