別の構造の配列を含む構造があります。次のようになります。
typedef struct bla Bla;
typedef struct point Point;
struct point
{
int x, y;
};
struct bla
{
int another_var;
Point *foo;
};
グローバルスコープでそれらを初期化したいと思います。これらは、モジュールの説明として意図されています。私は c99 複合リテラルでそれをやろうとしましたが、コンパイラ (gcc) はそれを気に入りませんでした:
Bla test =
{
0, (Point[]) {(Point){1, 2}, (Point){3, 4}}
};
次のエラーが表示されます。
エラー: 初期化要素が定数ではありません エラー: ('test' の初期化に近い)
変更する必要がないので、必要な数の「const」を入れることができます。それをコンパイルする方法はありますか?