如何解决在“;”之前得到“错误:预期的']'令牌”在C中声明数组时
我正在编写生产者-消费者解决方案,但我不断在“;”之前得到“错误:预期的']'。声明“ buffer_item buffer [BUFFER_SIZE];”时显示“令牌”。我不太确定该怎么办?
这是我的buffer.h文件:
typedef int buffer_item;
#define BUFFER_SIZE 5;
buffer.c文件
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
#include "buffer.h"
buffer_item buffer[BUFFER_SIZE];
void *producer(void *param);
void *consumer(void *param);
//etc..
解决方法
宏是字符串替换,所以
#define BUFFER_SIZE 5;
buffer_item buffer[BUFFER_SIZE];
将成为
buffer_item buffer[5;];
在元素数量之后还有多余的分号。
您应该使用
#define BUFFER_SIZE 5
(不带分号)。
,在定义常量时只需删除分号
#define BUFFER_SIZE 5
....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。