私はCに非常に慣れていません。行13、14、および16のコードが機能しないのに、行17〜20が機能する理由を誰かが理解するのを手伝ってくれるとありがたいです。
最初のオプション (13、14、および 16 行目) を使用すると、エラーが発生します。
error: initializer element is not constant
これは何を意味するのでしょうか?また、これは、特定のタイプの変数を使用して新しい変数を生成できないことを意味しますか?
ありがとうございました。
// Define structure for a good
5 struct good {
6 char goodname;
7 double p; //starting proportion
8 int theta; //average utility
9 int sigma; //variance of error
10 };
11
12 // The goods H and L
13 struct good H = {.goodname = 'H', .p = 0.5, .theta = 100, .sigma = 20};
14 struct good L = {.goodname = 'L', .p = 0.5, .theta = 75, .sigma = 20};
15
16 struct good goods[2] = {H, L}; // **Does not work**
// ** Works**
17 struct good goods[2] = {
18 {.goodname = 'H', .p = 0.5, .theta = 100, .sigma = 20},
19 {.goodname = 'L', .p = 0.5, .theta = 75, .sigma = 20}
20 };