私は配列を返すようにしたい、それが上書きされた場合、それは問題ではないので、私の方法はこれです:私が得る、しかし「初期化子要素が定数ではありません」と「近い初期化」
double * kryds(double linje_1[], double linje_2[]){
double x = linje_1[1]*linje_2[2]-linje_1[2]*linje_2[1];
double y = linje_1[2]*linje_2[0]-linje_1[0]*linje_2[2];
double z = linje_1[0]*linje_2[1]-linje_1[1]*linje_2[0];
static double svar[] = {x, y, z};
return svar;
}
static double svar[] = {x, y, z};
にエラーがあります。誰かがそれが何を意味するのか説明できますか?私はthis oneのような他のフォーラムの投稿を読んだが、それは本当に私の場合、すべての
イニシャライザの要素は定数式ではありません。 –
'static'オブジェクトのイニシャライザは、コンパイル時に評価できるものを意味する*定数式*(リテラル、リテラルに展開されるマクロ、またはそれらの要素のみを含む式)でなければなりません。 'x'、' y'、 'z'の値は実行時までは設定されないので、' static'配列の初期化子として使うことはできません。 –