Quelle est la cause de la flexibilité de la matrice de membre n'est pas à la fin de la struct erreur?

Je me demande pourquoi je continue à faire des error: flexible array member not at end of struct d'erreur lorsque j'appelle la fonction malloc. J'ai une struct avec une longueur variable de tableau, et je reçois cette erreur.

La structure est,

typedef struct {
  size_t N;
  double data[];
  int label[];
} s_col; 

et l'appel à la fonction malloc est,

col = malloc(sizeof(s_col) + lc * (sizeof(double) + sizeof(int)));

Est-ce le bon appel à malloc?

OriginalL'auteur csta | 2012-06-24