Új hozzászólás Aktív témák

  • Krono91

    csendes tag

    Hellosztok.

    Szeretném megtudni hogy ez a kódrészlet miért nem működik helyesen:
    template<class Adat>
    class Lista
    {
    struct ListaElem // privát struktúra így nem kell a friend ami nehezíti az olvashatóságot, és így tényleg senki nem fér hozzá ehhez az adattaghoz
    {
    Adat data; // maga az adat része az objektumnak
    ListaElem *next; // a listában következőre mutató pointer
    ListaElem *pre; // a listában előzőre mutató pointer

    //ListaElem konstruktora, ezzel már azonnal beszúrhatóvá is válik 2 listaelem közé
    ListaElem(ListaElem *next = 0, ListaElem *prev = 0) :n(next), p(prev) {}
    };
    ListaElem *first; // Első eleme a listának strázsa
    ListaElem *last; // Utolsó eleme a listának strázsa

    public:
    //Lista konstruktora, strázsák létrehozása
    Lista()
    {
    //Strázsák létrehozása
    first = new ListaElem;
    last = new ListaElem;
    first->pre = 0; // nem ismeri a fordító a pre pointert...
    first->next = last; // nem ismeri a fordító a next pointert...
    last->pre = first;
    last->next = 0;
    }
    }

    A problémám a Lista konstruktorával van, bele is kommenteltem a megakadásom okát.
    Elképzelhető hogy én vagyok nagyon fáradt és valmai triviális dolgot nem veszek észre de akkor sem látom, mi lehet a hiba.
    A segítséget előre is köszönöm :)

Új hozzászólás Aktív témák