は、ここに私のコードなぜNULLポインタが機能しないのですか?
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は私に希望のメモリ位置にアクセスできないというエラーを表示します。
サンプルコードに改行を追加してください。 –
'head'を逆参照する必要がありますか?あなたがそれにアクセスしたときに '* head'? – alex
「なぜXが動作しないのですか」は間違った質問です。適切な質問は、 "Xの作業をしようとする際に間違いがどこにあるか"です。あなたは完全に理解するまで、Xは実際には動作しないと推測することはできません。 –