簡體   English   中英

在各種令牌之前預期的主要表達

[英]Expected primary-expression before various tokens

以下代碼:

class queuenode {
public:
    queuenode();
    queuenode(cargo *mydata);
    ~queuenode() {delete cargo;} //Queuenodes delete their cargo on destruction - note that queuenodes DON'T free their neighbour, that's up to the queue class
public:
    queuenode *next;
    int pri; //this should always be equal to our cargo's pri
    cargo *data;
};

queuenode::queuenode(void) {
    next= (queuenode *) NULL; 
    cargo = (cargo *) NULL; //default const creates a null queuenode - pri is left undefined
}

queuenode::queuenode(cargo *mydata) {
    //Convert constr creates a queuenode wrapping a cargo, also setting pri to its pri
    data=mydata; 
    pri=mydata->pri; 
    next=(queuenode *) NULL;
}

給我以下錯誤:

 pq_linkedlist.cpp: In destructor 'queuenode::~queuenode()': pq_linkedlist.cpp:19:28: error: expected primary-expression before ';' token pq_linkedlist.cpp: In constructor 'queuenode::queuenode()': pq_linkedlist.cpp:28:8: error: expected unqualified-id before '=' token 

我不知道發生了什么或為什么。 有各種各樣的人在互聯網上有相同的錯誤信息,但他們所有的問題似乎都與額外的分號有關,我很確定我沒有。

~queuenode() {delete cargo;}

應該:

~queuenode() {delete data;}

cargo是類型, data是變量。 delete cargodelete int一樣有意義。

同樣,這一行是錯誤的:

cargo = (cargo *) NULL;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM