Template - Liste - Rückgabeproblem



  • Hallo,

    sitze hier vor einem für mich großem problem .... und zwar folgendes ...

    habe ein klasse linkedlist ...

    template <class T>
    class LinkedList : public List<T> {

    private:
    struct Element {
    T value;
    Element *next;
    };
    Element *head;
    //Element *ptr;

    public:
    /****************************************************
    ***** CONSTRUCTORS *****
    ****************************************************/
    // default constructor
    LinkedList();
    ..... usw.

    LinkedList.cpp

    //define which Template Types are permitted
    template LinkedList<int>;

    ......

    // get element at given index
    // index out of bounds ==> return null pointer
    // element at index available ==> return pointer on element
    template <class T>
    T* LinkedList<T>::elementAt(int index) {
    Element * help = head;
    for (int i=0; i<index; i++) {
    if (help->next != NULL) {
    help=help->next;
    }
    }
    T* x = help->next; //**** Problem!!
    return x; //**** Problem!!
    //return ?????
    }

    wie kann ich // element at index available ==> return pointer on element
    lösen??

    über hilfe wäre ich sehr dankbar ...

    thx
    snoopy



  • template <class T> T* elementAt(unsigned int at)
    {
    int index=1;
    Element* ptr=head;
    while(index<at)
    {
    ptr = head->next;
    }
    return &(ptr->value);
    }
    

    Aber keine Garantie



  • Es muss natürlich ptr = ptr->next heißen


Log in to reply