5

Cでは、変数とそれが保持する値の両方が一定になるように、const修飾子(またはその他の修飾子)をグローバル多次元配列に追加するにはどうすればよいですか?

たとえば、これにconst修飾子を追加するにはどうすればよいですか?

byte fruitIds[][2] = { { 0x01, 0x02}, {0x02, 0x03} }

そのため、割り当ての最後にこれを行うことはできません。

fruitIds = vegetableIds;

またはこれ:

fruitIds[0] = {0x02, 0x03};

またはこれ:

fruitIds[0][0] = 0x02;
4

1 に答える 1

6

配列はすでに変更不可能な左辺値です。つまり、値を作成する必要があるということですconst

const byte fruitIds[][2] = { { 0x01, 0x02}, { 0x02, 0x03} };

あなたの投稿からのこれらの割り当て:

fruitIds = vegetableIds;
fruitIds[0] = {0x02, 0x03};

すでに違法です。後者は有効な構文でもありませんが、前者を実行しようとするとread-only variable is not assignableメッセージが表示されます。clang

于 2013-01-31T01:02:07.883 に答える