Pointer lässt sich nicht auf 0 setzen



  • ich hab hier eine dynamische datenstruktur angelegt
    und ich weis nicht, wieso ich den Nachfolger nicht auf 0 setzen kann, solang er noch nicht existiert

    #include <iostream>
    #include <cstdlib>
    #include <ctime>
    using namespace std;
    typedef unsigned short int usint;
    //srand(time(NULL));
    
    struct nw {
    	usint byte1, byte2, byte3, nodecounter;
    /*<		struct node {
    		node *prev;
    		usint byte4;
    		node *next;
    	};
    	*/
    	nw* next;
    };
    
    nw* head = new nw;
    head->next = 0;
    
    int main(void) {
    	cout << "hallo" << endl;
    	return 0;
    }
    
    1>c:\users\steven\documents\visual studio 2010\projects\test\test\test.cpp(25): error C2143: Syntaxfehler: Es fehlt ';' vor '->'
    1>c:\users\steven\documents\visual studio 2010\projects\test\test\test.cpp(25): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
    1>c:\users\steven\documents\visual studio 2010\projects\test\test\test.cpp(25): error C2040: 'head': 'int' unterscheidet sich von 'nw *' in Bezug auf die Anzahl vorgenommener Dereferenzierungen
    

    kann mir bitte jemand den Fehler erklären?



  • Du kannst keinen beliebigen Code frei in die Landschaft setzen (d.h. außerhalb von Funktionen). Was du da machen möchtest, gehört sowieso in den Konstruktor.


Anmelden zum Antworten