我不知道为什么这段代码会出现这个错误。我应该怎么办?错误如下:
灵活数组成员的使用无效
在这条线上:
new_buffer->array_msg =array;
如果是更大的代码部分:
typedef struct buffer {
int size;
int T;
int D;
int msg_presenti;
pthread_cond_t not_full;
pthread_cond_t not_empty;
pthread_mutex_t mutex;
msg_t * array_msg[];
} buffer_t;
buffer_t * buffer_init(unsigned int maxsize){
buffer_t * new_buffer = malloc( sizeof(buffer_t) + maxsize * sizeof(msg_t) );
msg_t * array[maxsize];
new_buffer->array_msg =array;
new_buffer->size=maxsize;
return new_buffer;
}
// deallocazione di un buffer