STL Container + Templates



  • Hi Leute

    Ich hätte da gern mal eine Frage!

    Also - wenn ich eine Class in einem Container wie std::vector speichere, funktioniert das .resize(); ja recht gut. Nur wenn diese class ein Template als Member hat, dann nicht mehr. Dann geht nur noch .push_back() und das so lange, bis ich die nötigen Teile im vector gespeichert habe.

    Hier ein Beispiel:

    // CREATE TILES
    
          // Geht nicht, weil Template Member
        this->vecTiles.resize( this->u32CountTilesX * this->u32CountTilesY );
    
          // Geht ohne Probleme
          for( u32 i = 0; i < ( this->u32CountTilesX * this->u32CountTilesY ); ++i ) {
            this->vecTiles.push_back( TerrainTile() );
        }
    

    Kann man das irgendwie umgehen - ich meine ohne daß ich Pointer halte? Und wenn ja - dann wie?

    Danke
    Sven



  • Achja - der Typ des Template ist auch spezifiziert. Es geht um einen 3D Vector, Typus float. Für die Bounding Box



  • Mpf mit dem operator = funktioniert es jetzt. Seltsam! Warum ist das mit Template Members in einem STL Container so? Hat jemand eine Erklährung für mich?


Anmelden zum Antworten