mallocを呼び出すと、なぜ私はerror: flexible array member not at end of struct
エラーを受け続けるのだろうかと思います。可変長配列を持つ構造体があり、このエラーが発生しています。フレキシブルアレイメンバの構造エラーの終わりではない原因は何ですか?
構造体は、
typedef struct {
size_t N;
double data[];
int label[];
} s_col;
で、malloc関数の呼び出しは、
col = malloc(sizeof(s_col) + lc * (sizeof(double) + sizeof(int)));
であるが、これはmalloc関数への正しい呼びますか?
私は "T * var"は "T var []"と同じであると教えています – spectre
@ lukasz1985:あなたが言うことは、関数引数の文脈で真実であり、ポインタを用いて技術的に実現される「配列操作引数」を含む。通常(ここでは)配列は配列で、ポインタはポインタです。 – stan423321