JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=c186a0cefb18093c8812308536ff8e2dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

vector als rückgabewert

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Florian
Super JLI'ler


Alter: 36
Anmeldedatum: 20.06.2003
Beiträge: 302

Medaillen: Keine

BeitragVerfasst am: 08.02.2004, 22:12    Titel: vector als rückgabewert Antworten mit Zitat

Hallo
Wie kann ich eine funktion ein Vector als Rückgabewert machen.
Vieleicht kann mir jemand ein Beispiel zeigen
Danke;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 08.02.2004, 22:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 09.02.2004, 10:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 12:40    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 12:44    Titel: Antworten mit Zitat

Ich seh zwar keine Referenz, wüßte aber nicht, warum HotAcids Funktion nicht funktionieren sollte.

C.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 12:51    Titel: Antworten mit Zitat

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 Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 12:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 12:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 09.02.2004, 13:26    Titel: Antworten mit Zitat

*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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum