Frage zu ineinandergeschachtelten verketteten Listen



  • Hallo,

    ist es möglich, 2 Arten von verketteten Listen ineinanderzuschachteln?
    Es handelt sich um 2 Listen, die nach folgendem Prinzip im Header definiert sind:

    struct TEXT
    {
    char *TextListe1;
    ZAHL *Zahl;
    }

    struct ZAHL
    {
    int ZahlListe2;
    TEXT *Text;
    }

    Bei "ZAHL *Zahl" kommt die Fehlermeldung "Type name expected", da ZAHL noch nicht definiert ist, wird die "struct ZAHL" zuerst definiert, moniert er "TEXT".
    Kann ich eine struct "vordefinieren" ?
    Das Problem tritt beim C-Builder3 auf, aber ich denke, es ist nicht Compilerabhängig.

    Vielen Dank für Eure Mühe.



  • Vorwärtsdeklaration nennt sich das.

    struct ZAHL; // hier wird ZAHL vorwärtsdeklariert
    
    struct TEXT 
    { 
    char *TextListe1; 
    ZAHL *Zahl; 
    } 
    
    struct ZAHL 
    { 
    int ZahlListe2; 
    TEXT *Text; 
    }
    


  • Hallo drakon,

    vielen Dank für die schnelle Lösung. Funktioniert prima.
    Auf die Idee, unter der Bezeichnung "Vorwärtsdeklaration" zu suchen bin ich nicht gekommen ...



  • Warum verwendest du nicht std::list und std::string?


Anmelden zum Antworten