我不知道爲什麼這段代碼會給出這個錯誤。我該怎麼辦?錯誤如下:錯誤:使用靈活的陣列成員無效
Invalid use of flexible array member
在這條線:
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
投票重新提出問題現在有足夠的信息來回答。 –