Simple C++ Liste Liée

J'ai beaucoup d'expérience avec les listes chaînées en Java, mais il me semble avoir confondu moi-même avec cette simple tentative en C++. J'obtiens une erreur de segmentation lors de l'exécution, qui d'après ce que je comprends a à voir avec l'affectation d'un pointeur null, mais je suis à une perte pour une solution.

Edit: Merci à tous pour les réponses. Le code fonctionne maintenant, mais en essayant d'utiliser

delete p;

à la fin de la linkedList::addNode résultats dans une erreur de segmentation lors de l'exécution. Juste curieux de savoir si quelqu'un savait pourquoi c'est?

Voici mon code mis à jour:

#include <iostream>
using namespace std;

class Node{
    public:
        int data;
    Node * next;
    Node(int x){
        data = x;
        next = NULL;
        }
    Node(int x, Node * y){
        data = x; 
        next = y;
        }
    };


class linkedList{
Node *head;
public:
    linkedList(){
        head = NULL;
        }
    void addNode(int value){
        Node *p;
        if(head == NULL)
            head = new Node (value, NULL);
        else{
            p=head;
            while(p->next !=NULL)
                p=p->next;
            p->next = new Node (value, NULL);
            }
        }
    void print(){
        Node * p;
        p = head;
        while(p != NULL){
            cout << p->data << "\n";
            p = p->next;
            }
        }
};


int main(void){
linkedList test;
test.addNode(4);
test.addNode(76);
test.addNode(12);
test.print();
return(0);
}
L'erreur de segmentation se pose parce que dès que vous supprimez un objet, vous n'êtes pas autorisé à référencer plus. Il ne fait aucun sens pour supprimer le nœud juste après que vous l'ajouter (et il y a maintenant un pointeur).
Ah ça a du sens. Merci encore.
Pourquoi êtes-vous la suppression de p dans le print()?
Mon erreur, j'ai d'abord été un peu confus au sujet de l'endroit où l'utilisation de supprimer, mais je crois que je comprends maintenant.
vous avez modifié la question d'une façon telle qu'il ne peut pas être comparé avec les réponses données

OriginalL'auteur LordByron | 2009-07-08