Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » sch.. Vector

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
09.03.2004, 11:26 Uhr
~lapida
Gast


Hi Leute,
was ist an diesem Code Falsch???

C++:
vector<smart_ptr<Beispiel> > *myBeispiel;
    //vector<smart_ptr<Beispiel> > myBeispiel;
    myBeispiel =  new vector<smart_ptr<Beispiel> >[10];
    for(int i=0;i<10;i++)
    {
        myBeispiel->push_back(new Beispiel(i));
    }

    for(i=0;i<10;i++)
    {
        printf("%i",myBeispiel[i])->getZahl();
    }



Der Vector ist nen Container für die Instanzen vom Typ Beispiel. Die Größe vom Vektor soll aber Variabel sein!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.03.2004, 11:37 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich habe mich mit smartpointer nicht weiter beschäftigt...

würde aber den fehler spontan hier vermuten

C++:
myBeispiel->push_back(new Beispiel(i));


soweit ich weiss will push_back keinen pointer sondern konkret ein objekt haben
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.03.2004, 11:45 Uhr
~lapida
Gast


ne das funtzt wenn ich das so mache:

C++:
vector<smart_ptr<Beispiel> >myBeispiel;


Das mit dem new funtzt nicht!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.03.2004, 11:49 Uhr
stephanw
localhorst



C++:
myBeispiel =  new vector<smart_ptr<Beispiel> >[10];


Hier legst Du nicht _einen_ Vector mit 10 Elementen, sondern 10 Vectoren an. myBeispiel ist also ein Array von Vectoren.

Vielleicth ist das hier was Du haben willst:

C++:
myBeispiel = new vector<smart_ptr<Beispiel> >; // leer anlegen
myBeispiel->reserve(10);  // Platz für 10 Beispiele schaffen



:
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.03.2004, 11:55 Uhr
~lapida
Gast


Gut das erstellen hab ich jetzt. Nur der Zugriff klappt nicht!

C++:
:\InstantImage\Source\C++\Server\vector\vector.cpp(46) : error C2819: Der Typ 'std::vector<class smart_ptr<class Beispiel>,class std::allocator<class smart_ptr<class Beispiel> > >' hat keinen ueberladenen Elementoperator '->'
M:\InstantImage\Source\C++\Server\vector\vector.cpp(46) : error C2227: Der linke Teil von '->getZahl' muss auf Klasse/Struktur/Union zeigen
M:\InstantImage\Source\C++\Server\vector\vector.cpp(49) : error C2228: Der linke Teil von '.clear' muss eine Klasse/Struktur/Union sein


Dieser Post wurde am 09.03.2004 um 17:40 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.03.2004, 12:07 Uhr
stephanw
localhorst


Ohne den Code kann ich mir da grad nix drunter vorstellen. Der Zugriff auf die einzelnen Elemente würde (wenn Du wie im Beispiel einen Vektor über Zeiger verwendest) so gehen:
C++:
x = myBeispiel->operator[](2);  // 2tes Element
// oder alternative Schreibweise
x = (*myBeispiel)[2];


--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 09.03.2004 um 12:08 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.03.2004, 12:13 Uhr
~lapida
Gast


genau das wars doch was ich brauchte! Danke!
Hatte das nämlich so versucht:

C++:
(*myBeispiel[5])->etc..


Hast du vielleicht auch ne Antwort auf mein Problem mit der Vererbung. Siehe Post?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.03.2004, 12:23 Uhr
stephanw
localhorst


@lapida: meinst Du mich ? Was für Post(ing) ??
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
09.03.2004, 12:33 Uhr
~lapida
Gast


www.fun-soft.de/showtopic.php?threadid=6362
 
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: