내 코드에 문제가 있습니다. 호출 연결 목록이 값으로 "업데이트"되지 않거나 저장되지 않았거나 무언가가 아닙니다. 도와 줘서 고마워. 고마워.연결된 목록 앞에 삽입
template <class T>
void LinkedList<T>::insert_front(const T& x)
{
LinkedList* p = this;
LinkedList* tmp = new LinkedList(x,p);
p = tmp;
cout<<p->m_data<<endl;
cout<<tmp->m_data<<endl;
호출 기능은
//TEST : Inserting 10 numbers to a
cout << endl << "TEST : Inserting 10 numbers to A" << endl;
for (int k=0; k<10; k++){
A.insert_front(k+1);
}
cout << A << endl;
cout << "Size of a = " << A.size() << endl;
내가 TMP 데이터 값과 p의 데이터 값 값은 코드에 가서 각 호출 입니다 1122334455667788991010 의 출력을 얻을 수 있으며, 그들은이다 나는 인쇄 할 때 바로 값을 반환합니다. 아무것도 빈 목록으로 표시되지 않습니다. 고마워, 나는 여기 새로 왔지만 커뮤니티를 사랑해.
링크 된 목록의 개념에 결함이 있습니다. 연결된 목록에는 head * node *를 가리키는 head * pointer *가 있습니다. 작성한대로 새 노드를 할당하고 '다음'을 'this'로 지정하면 즉시 할당이 유출됩니다. 결국에는 누수 된 메모리와 헤드 노드가 아무 것도 가리 키지 않고 무엇부터 시작해야 하는가 : 불확실한 값과 어디에도없는 '다음'포인터가 있습니다. – WhozCraig