JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

2-dim. STL-Vector
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 09.05.2004, 20:38    Titel: 2-dim. STL-Vector Antworten mit Zitat

Hi @all,
ich hab nen 2-dim. STL-Vector, wie kann ichn den "resizen"?
So wie ich mir das gedacht hab erzeugt das immer nen "Stack Overflow"...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Zyrian
Super JLI'ler



Anmeldedatum: 30.08.2003
Beiträge: 321
Wohnort: Essen
Medaillen: Keine

BeitragVerfasst am: 09.05.2004, 21:16    Titel: Antworten mit Zitat

wie hast du's dir denn gedacht?
_________________
Schau mir in die Augen, Kleines.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 09.05.2004, 21:33    Titel: Antworten mit Zitat

Also ich hatte mir gedacht das ein 2-dim. Vector ja praktisch ein Vector von Vectoren is, also wenn ich ein Vector hab das 10 Elemente umfasst, dann ist jedes Element wiederum ein Vector für sich das dann die Elemente enthält...

Das "resizen" wollte ich so realisieren:
Code:

m_SpriteVector.resize(m_pTN->m_VidSet.Scr_Width/m_pTN->m_VidSet.Tile_Size);
   for(int initVect=0;initVect<m_pTN->m_VidSet.Scr_Width/m_pTN->m_VidSet.Tile_Size;initVect++)
      m_SpriteVector[initVect].resize(m_pTN->m_VidSet.Scr_Height/m_pTN->m_VidSet.Tile_Size);


zuerst wird praktisch der "äußere" Vector neu dimensioniert, und anschließend jeder "innere" Vector...
Auf diese Weise erzeugt das Programm aber beim Ausführen einen Stack Overflow.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 06:16    Titel: Antworten mit Zitat

Hab nicht viel Zeit, deshlab Pseudo-Code:

Code:

for(...)
  outervec.pushback(innervec);
   for(...)
   outervec[ i ].pushback(fubar);

_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 07:53    Titel: Antworten mit Zitat

Schon klar Hazel, jetzt wo du vom FBI, MI6 und Microsoft wegen den ganzen Würmern gesucht wirst, bleibt wenig Zeit Wink
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 10:56    Titel: Antworten mit Zitat

Geht das nicht auch normal über resize()?

Oder zumindest, wenn man nur den äußeren Vector durchläuft?

Code:
vector foo < vector < int > >;

foo.resize(8);

for(short i=0; i<foo.size(); i++)
{
    foo[i].resize(8);
}


So würde man sich das backpushen auf den äußeren Vec sparen Wink
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 11:09    Titel: Antworten mit Zitat

Wenn man Angeln will braucht man Würmer.

Nein ich musste zu einer Physikklausur die ich eben versemmelt hab und bei einem letzten verzweifelten Versuch bei meinem Nachbarn abzuglotzen wurde ich leider erwischt. :P Dementsprechend ist meine Laune auch im Moment. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 11:38    Titel: Antworten mit Zitat

thx für eure Hilfe

@Lord
nope, so hatte ich mir das ja gedacht, und das erzeugt nen Stack Overflow
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 11:46    Titel: Antworten mit Zitat

Wieso denn das?
Wie riesig sind denn deine Vectors? Shocked
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 12:15    Titel: Antworten mit Zitat

Wenn ichs wüsste hätte ich nich gepostet Rolling Eyes Wink
Die sin nich so riesig, der äußere steht bei mir praktisch für die Anzahl der Tiles in der Bildschirmbreite, 40, und der innere für die in der Höhe, 30. Also kA woher das kommt, ich probiers mal mit Hazels Methode, bin zuversichtlich... Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

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

Also das klappt irgendwie immer noch nicht... Sad Sad

So hab ich das Ding deklariert:
Code:

std::vector< std::vector< Sprite > > m_SpriteVector;


Und so wollte ich das jetzt neu dimensionieren:
Code:

for(int xResVect=0;xResVect<40;xResVect++)
{
     m_SpriteVector.push_back(std::vector);

     for(int yResVect=0;yResVect<30;yResVect++)
     {
          m_SpriteVector[xResVect].push_back(Sprite);
     }
}


Is bestimmt en ganz simpler Fehler, mir qualmt nur schon der Kopf un ich kann mich grad irgendwie nich konzentrieren...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 12:55    Titel: Antworten mit Zitat

Code:

for(int xResVect=0;xResVect<40;xResVect++)
{
     m_SpriteVector.push_back(std::vector);

     for(int yResVect=0;yResVect<30;yResVect++)
     {
          m_SpriteVector[xResVect].push_back(Sprite);
     }
}


std::vector ist kein Datentyp sondern ein Template... du musst es so machen:

m_SpriteVector.push_back(std::vector< Sprite >);
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 14:20    Titel: Antworten mit Zitat

Uups... Embarassed
Geht aber irgendwie trotzdem nicht... Sad
Kommt dieser Compilerfehler "Ungültige Verwendung dieses Typs als Ausdruck"
Der Fehler kommt übrigens auch in der 2. Schleife, wo Sprites an den Vector angehängt werden...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 16:42    Titel: Antworten mit Zitat

Ok, ich bin dumm... Natürlich darf kein Datentyp an den Vector angehangen werden, sondern ein Element eines Datentyps, is ja eigentlich klar... *vordenkopfschlag* Rolling Eyes Rolling Eyes Embarassed Embarassed

Problem, jetz hab ich wieder den Stack Overflow...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 10.05.2004, 19:13    Titel: Antworten mit Zitat

Dann probier's mal mit Zeigern auf die Objekte... wahrscheinlich sind es zuviele Daten.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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