conversion to non-scalar type requested
というエラーメッセージは、プログラムでスカラー型(整数や浮動小数点数などの単一の値を表す型)を非スカラー型(配列や構造体など複数の値をまとめた型)へ変換しようとしたときに出るものです。
例えば、次のような C 言語のコードでは、整数の値 x
を配列の型 int a[10]
へ代入しようとしています。
int x = 5; int a[10]; a = x;
このようなコードを実行すると、 conversion to non-scalar type requested
というエラーが発生します。これは、整数の値 x
を配列 a
へ代入しようとしているためです。配列は複数の値をまとめた型であり、単一の値である x
をそのまま代入することはできません。
この場合、代入するには a
の各要素に個別に代入する必要があります。例えば、次のようなコードになります。
int x = 5; int a[10]; for (int i = 0; i < 10; i++) { a[i] = x; }
このようにすることで、配列 a
の各要素に値 x
を代入することができます。
コメント