C で配列が代入できない理由
C では、配列を他の配列に直接代入することはできません。この動作は奇妙に思えるかもしれませんが、これは C からの言語の伝統によるものです。
エラー メッセージ「エラー C2106: '=' : left operand should be l-value」は、(この例では) 左オペランドが左辺値であることを示しています。 case、values) は、代入できる変更可能なオブジェクトである左辺値でなければなりません。ただし、配列は C では左辺値とみなされません。
配列が代入できない理由
C 配列は、いくつかの理由により代入できません。
代替ソリューション
C で配列を操作するには、いくつかの代替ソリューションがあります:
例:
#include <algorithm> // Original arrays int numbers[5] = {1, 2, 3}; int values[5] = {}; // Copying elements using std::copy std::copy(numbers, numbers + 5, values);
または、 std::array:
#include <array> // Modern arrays std::array<int, 5> numbers = {1, 2, 3}; std::array<int, 5> values = {}; // Assignment values = numbers;を使用する
以上がC で配列を直接代入できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。