여기 내 코드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'를 참조 해제해야합니까? 예 : 당신이 그것을 접근 할 때'머리'? – alex
"X가 작동하지 않는 이유는 무엇입니까?"는 잘못된 질문입니다. 올바른 질문은 "X 작업을 시도하는 데있어서 내 오류"입니다. X가 완전히 이해할 때까지 실제로 작동하지 않는다고 가정 할 수는 없습니다. –