我正在研究一种使用huffman方法插入优先级队列的方法。但是我一直得到同样的错误:
prioque.c:46: error: expected ")" before "prioque_ref"
我的结构是:
typedef struct prioque *prioque_ref;
struct prioque {
int dim;
int last;
prioque_item *array;
cmpfn_prioque cmpfn;
};
我的问题代码:
void insert_prioque (prioque prioque_ref *queue, prioque_item item) {
assert ( queue->last < queue->dim -1);
++queue->last;
queue->array[queue->last] = item;
int curr = last;
while (curr != ROOT) {
int parent = PARENT(curr);
int *parentptr = &queue->array[parent];
int *curptr = &queue->array[curr];
if (*parentptr > *currptr)
break;
int tmp = *currptr;
*currptr = *parentptr;
*parentptr = tmp;
curr = parent;
}
DEBUGF ('p', "queue=%p, item=%p\n", queue, item);
}
我在这里做错了什么?
答案 0 :(得分:4)
您已为prioque *
void insert_prioque (prioque prioque_ref *queue, prioque_item item)
// ^ complaining about this space
所以,它应该是 -
void insert_prioque (prioque_ref queue, prioque_item item) { /* .... */ }