Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (GNU/Linux, *NIX, *BSD und Co) » Array von Zeigern

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
15.11.2008, 12:47 Uhr
~sfsdf
Gast


hi, ich möchte ein arry von pointern erzeugen und dann darin objekte die mit new erzeugt wurden speichern. derzeit mach ich es so, aber esf unktioniert nciht so richig


C++:
class Set
{
public:
    Set();
    Set(int x);
.........
private:
    void resize();
    SetMember * m_elements; //Pointer auf SetElemnte
    int   m_count;  //Anzahl Elemente der Menge
    int   CUR_MAX;
};
---------------------
Set::Set(int x):m_count(0), CUR_MAX(1)
{
    m_elements[CUR_MAX];  //Hole mir Platz für CUR_MAX-Pointer
    SetMember * s = new SetMember(x); //Erzeuge neues Objekt
    m_elements[m_count] = s;  //Zuweisen - tut es nicht, kompilerfehler-wieso?
}  

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.11.2008, 15:54 Uhr
0xdeadbeef
Gott
(Operator)


Zum einen ist m_elements kein Speicher zugewiesen, zum anderen ist das ein Array von SetMember-Objekten, nicht von Zeigern. Mit anderen Worten, das muss

C++:
SetMember **m_elements;


heißen, und du musst dem im Konstruktor Speicher zuweisen. (Und im Destruktor wieder löschen)
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (GNU/Linux, *NIX, *BSD und Co) ]  


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: