我在使用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);
}
我到底錯在這裏幹什麼?
所以,你說你沒有',''後typedef結構prioque * prioque_ref'?如果是這樣,那麼這是你的第一個錯誤。如果你確實有';'那麼請發送真實代碼*,而不是「我認爲正確的東西」。 – AnT 2011-06-03 21:51:21
你已經有幾個很好的答案了,但爲了將來的參考,如果你告訴我們哪一行是第46行,我們可以更容易地提供幫助。 – 2011-06-03 21:51:49
對不起!第46行是我的插入方法的第一行,我一定會牢記以備將來參考,並感謝大家的幫助。 – KufNayr 2011-06-03 22:02:16