[英]Why doesn't NULL pointer work?
這是我的代碼
class LList{
struct Elem{int data;Elem *next;};
Elem *head;
public:
void Push(int dat){
if(head==NULL){
head=new Elem;
head->data=dat;
head->next=NULL;
} else {
// ......
}
}
但是當我使用它時,它不起作用。 問題是它永遠找不到指針為NULL,而我應該為NULL。 即使我在構造函數中為指針分配NULL也不起作用。 Visual Studio給我錯誤,提示我無法訪問所需的內存位置。
只需在ctor中初始化head
就可以了。
class LList{
//...
LList() : head(0) {} // or head(NULL) if you prefer
// ...
};
注意: IIRC與== NULL
相比被認為是同樣糟糕的樣式,例如== TRUE
... if(!head)
樣式(在我看來不是很卑鄙)越好,但這就是化妝品。 因此,請注意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.