Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Vector an aufrufende Funktion übergeben!

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
24.07.2003, 21:17 Uhr
~Sergey
Gast


Hallo!

Ich möchte aus einer Funktion (Funk1) eine andere Funktion (Funk2) aufrufen,
die einen von der "Funk1" versendeten "std::string" auseinandernimmt (Wort für Wort) und die einzelnen Teile des Strings in ein Vector schreibt.
Diesen Vector muß ich an die "Funk1" übergeben, damit dieser mit den einzelnen Elementen
des Vektors arbeiten kann.

Wie mache ich das? Es geht mir vorrangig um die "Parameterliste"!

Brauche Lösung ohne MFC.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.07.2003, 21:25 Uhr
Pablo
Supertux
(Operator)


Du könntest in den Parameter ein Pointer über einen Vektor haben.


C++:
void f()
{
  string x;
  vector<string> y;
  // tut was
  f2(x,&y); // &y damit die Adresse übergeben wird und von f2 verändert werden kann
  // ab hier kann ich weiter mit y arbeiten
}

void f2(string str, vector<string>* x)
{
    // Strings vorbeireiten
    x->push_back(str); // oder die strings, die du schon vorbereitet hast
    // weiter geht's mit dem Code
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.07.2003, 22:01 Uhr
~Sergey
Gast


Hi!

Leider klappt es bei mir noch nicht!

Der vector, der an die Funktion (f2) übergeben wird, soll leer sein (kann ich ja vorher mit y.clear() erreichen. Okay.

Dieser vector soll in "f2" gefüllt werden.

Wenn ich aber in "f2" einen neune vector<string> testx formuliere, um den String aus str hier einzeln einzulesen, klappt das ganze ja, aber bei return an die Funktion (f) kriege ich probleme, dann zeigt er bei der Zeile:


std:.string bla1 = y[0]

den Gesamtstring und bei

std::string bla2 = y[1] bricht er mit Fehler ab. Was mache ich falsch?

Ich hoffe auf Hilfe!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.07.2003, 23:07 Uhr
virtual
Sexiest Bit alive
(Operator)


@Sergey:
Mehr Code bitte

@Pablo:

C++:
void f2(string str, vector<string>* x)
...


Besser vielleicht:

C++:
void f2(string str, vector<string>& x)
...


Erlaubt natürlicheres Arbeiten mit x.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.07.2003, 23:40 Uhr
~Sergey
Gast


Hi!

Hatte nur noch eine blöden Tippfehler im Code. Nun funkt es!

Trotzdem Danke!

Schönen Abend noch!
 
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: