[英]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 cargo
與delete int
一樣有意義。
同樣,這一行是錯誤的:
cargo = (cargo *) NULL;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.