-1
이중 링크 목록에 대해이 코드를 작성했지만 디버깅 도구에 따라 일부 세그먼트 오류가 있습니다. 컴파일은 잘되지만 실행시 폭발합니다.이중 링크 목록 초기화
헤더 파일
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
struct Node
{
int data;
Node* next; //next node
Node* prev; //prev node
};
typedef struct
{
Node* first; //aims to first node
Node* last; //aims to last node
} List;
void initList(List &l);
링크 된 목록 CPP 나는 그것을 파악하는 관리되는 응답에 대한 주요
#include <iostream>
#include <stdio.h>
#include "List.h"
using namespace std;
int main()
{
List nlist;
initList(nlist);
return 0;
}
* 컴파일이 잘되었지만 실행시 폭발 함 * - "컴파일 중"은 아무 의미가 없습니다. 그것이 의미하는 바는 C++ 구문이 합법적이라는 것입니다. 논리적 또는 다른 런타임 오류가 있는지 여부에 관계 없습니다. 또한'typedef struct'는'C'의 것입니다. 어떤 책이 오래된 C 스타일 코딩을 가르치고 있습니까? – PaulMcKenzie
연결 목록을 구현하기 전에 다음과 같은 핵심 개념을 완전히 이해해야합니다. 1. 클래스 구성 및 초기화. 2. 자동 및 동적 범위. 당신은 분명히 당신의리스트 멤버가 인스턴스화되어야한다는 것을 인식하지 못했습니다. 돌아가서 C++ 책에서 관련 장을 다시 읽어야합니다. 표시된 코드에 너무 많은 문제가 있습니다. –
연결되지 않은 링크 된 목록의 명확한 경우이기도합니다. OP NULLing 포인터는 링크 된 목록의 컨텍스트에서 의미있는 것으로 초기화된다는 것을 의미하지 않습니다. 주제에 대한 OP의 읽기가 여전히 권장됩니다. 그들이 아직 얻지 못했다는 것은 명백합니다. – user4581301