Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » template - pointer problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.05.2005, 15:19 Uhr
snoopy2004



Hallo,

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

habe ein klasse linkedlist ...


C++:
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

Dieser Post wurde am 29.05.2005 um 15:30 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.05.2005, 15:32 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hast du doch grade gelöst oder nicht? du gehst vom head bis eins unter index und dann tuste help->next (also "index") zurückgeben. wenn das element existiert ist der pointer help->next gültig, also != NULL ansonsten NULL. (jedenfalls wenn du das gescheit initialisierst beo, hinzufügen eines elements)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.05.2005, 15:38 Uhr
Spacelord
Hoffnungsloser Fall


next ist doch nur nen Pointer auf die nächste Elementstruktur.
Du möchtest aber nen Zeiger auf value vom Typ T zurückgeben.
Also müsstest du sowas in der Art probieren.

C++:
T* x = &((*(help->next)).value)




MfG Spacelord

PS:Ob das gewollt und klug ist steht auf nem anderen Blatt
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 29.05.2005 um 15:45 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: