Erstellen einer LinkedList mit den Knoten C++

Ich bin beauftragt, erstellen Sie eine Verknüpfte Liste in C++. Soll ich erstellen eine Struktur für beide LinkedList und Node .Es gibt viele Funktionen, die ich bin, sollen in diesem Programm, aber für mein eigenes Verständnis, ich bin justtrying zu schreiben, eine append-Funktion in dem moment.

Habe ich 3 Dateien, die ich verwende:

hw10.h

#ifndef Structures_hw10
#define Structures_hw10

#include <iostream>

struct Node{
  int value;
  Node* next;
};

struct LinkedList{
  Node* head = NULL;
};

void append(int);

#endif

hw10.cpp

#include "hw10.h"

void LinkedList::append(int data){
  Node* cur = head;
  Node* tmp = new Node;
  tmp->value = data;
  tmp->next = NULL;
  if(cur->next == NULL) {
    head  = tmp;
  }
  else {
    while(cur->next != NULL){
      cur = cur->next;
    }
    cur->next = tmp;
  }

  //delete cur;
}

main.cpp

#include "hw10.h"

int main(){
  LinkedList LL;
  LL.append(5);
  LL.append(6);
  Node* cur = LL.head;
  while(cur->next != NULL){
    std::cout<<cur->value<<std::endl;
    cur = cur->next;
  }
  return 0;
}

Um diesen code zu kompilieren, tippe ich im terminal:

g++ -o hw10 hw10.cpp main.cpp

Dies ist die Antwort, die ich erhalten:

 In file included from main.cpp:2:0:
hw10.h:13:16: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from hw10.cpp:1:0:
hw10.h:13:16: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
hw10.cpp: In function 'void append(int)':
hw10.cpp:10:15: error: 'head' was not declared in this scope

Meine main-Funktion soll das erstellen eines neuen Verknüpften Liste und fügen Sie 2 neue Knoten, und drucken Sie Ihre Werte aus(um sicherzustellen, es funktioniert).

Der Fehler weist auf die Verwendung von Kopf-auf der Linie 10 in hw10.cpp aber Kopf ist auf der Linie 9 nicht 10, und es sieht ok. Dieser sieht nicht wie der genaue Quellcode kompiliert wurde, ist es?
Dies ist der source-code, den ich geschrieben habe.
Ich kompiliert den code und bekommen eine ganz andere Fehlermeldung, siehe meine Antwort unten.

InformationsquelleAutor user2821771 | 2013-10-10

Schreibe einen Kommentar