Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Florian Super JLI'ler
Alter: 36 Anmeldedatum: 20.06.2003 Beiträge: 302
Medaillen: Keine
|
Verfasst am: 08.02.2004, 22:12 Titel: vector als rückgabewert |
|
|
Hallo
Wie kann ich eine funktion ein Vector als Rückgabewert machen.
Vieleicht kann mir jemand ein Beispiel zeigen
Danke; |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 08.02.2004, 22:43 Titel: |
|
|
spontan Idee:
[code]
vector<int> f()
{
vector<int> v;
// do something with v
return v;
}
habs nicht ausprobiert
cu Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 09.02.2004, 10:02 Titel: |
|
|
Ne ich glaube das geht nicht (hatte ein ähnliches Problem) du kannst glaube ich nur den pointer auf nen Vector übergeben sonst funzt die Liste nicht mehr richtig. (Korrogier mich wenn ich falsch liege) _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 09.02.2004, 12:40 Titel: |
|
|
mag sein. Aber mit ner Referenz sollte es doch keine Probleme geben, oder liege ich jetztschon wieder daneben? _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 09.02.2004, 12:44 Titel: |
|
|
Ich seh zwar keine Referenz, wüßte aber nicht, warum HotAcids Funktion nicht funktionieren sollte.
C. |
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 09.02.2004, 12:51 Titel: |
|
|
ich meine damit:
angenommen, mein Code funktioniert so nicht, dann müsste doch zumindest eine Referenz als Rückgabewert funktionieren.
momentan existiert da keine Referenz, da kannst du natürlich auch keine finden, Christian _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 09.02.2004, 12:57 Titel: |
|
|
Klar funktioniert die Funktion. Vectoren haben einen Copy-C'tor.
Code: |
#include<iostream>
#include<vector>
using std::vector;
using std::cout;
using std::endl;
vector<int> BuildVector()
{
vector<int> tmp;
tmp.push_back(1);
tmp.push_back(2);
tmp.push_back(3);
return tmp;
}
int main()
{
vector<int> intVec = BuildVector();
for(int i = 0; i < intVec.size(); ++i)
cout << intVec[i] << endl;
return 1;
}
|
Das läuft einwandfrei... _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 09.02.2004, 12:59 Titel: |
|
|
HotAcid hat Folgendes geschrieben: | ich meine damit:
angenommen, mein Code funktioniert so nicht, dann müsste doch zumindest eine Referenz als Rückgabewert funktionieren.
momentan existiert da keine Referenz, da kannst du natürlich auch keine finden, Christian ;) |
Eine Referenz funktioniert nicht, weil nach dem Verlassen der Funktion der Vector wieder zerstört wird. Es sei denn der Vector wird innerhalb der Funktion als statisch definiert. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
HotAcid Super JLI'ler
Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 09.02.2004, 13:26 Titel: |
|
|
*bing* das wars... FallenAngel hatte mich nur so irritiert, weil er meinte, mein Code würde so nicht funktionieren, aber an der Referenzlösung hatte mich irgendwas auch schon gestört, wusste nur nicht, was _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
|
|