错误C2143:语法错误:在'*'之前缺少')'

rac*_*ach 0 c struct prototype typedef header-files

我有以下头文件,但继续获取:语法错误:在原型声明行的'*'之前缺少')'.有什么问题?

typedef struct queue{
int count;
int first;
int last;
int *q;
};

void init_queue(queue *q);
void enqueue(queue *q, int x);
int dequeue(queue *q);
int empty(queue *q);
Run Code Online (Sandbox Code Playgroud)

Raf*_*ler 7

你从未完成过你的typedef.你可能打算这样做:

typedef struct queue{
int count;
int first;
int last;
int *q;
} queue;
Run Code Online (Sandbox Code Playgroud)

您需要在typedef的末尾为您的类型定义别名.如果你没有typedef,你必须像这样写你的原型:

void init_queue(struct queue *q);
// etc.
Run Code Online (Sandbox Code Playgroud)