Sch*_*ote 3 c++ compiler-errors
以下代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
给我以下错误:
Run Code Online (Sandbox Code Playgroud)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;}
Run Code Online (Sandbox Code Playgroud)
应该:
~queuenode() {delete data;}
Run Code Online (Sandbox Code Playgroud)
cargo是类型,data是变量.说话delete cargo和说话一样有意义delete int.
同样,这一行是错误的:
cargo = (cargo *) NULL;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
941 次 |
| 最近记录: |