einfache Frage



  • Hallo,

    kann mir bitte jemand weiterhelfen? Habe folgendes kleines Problemchen und bin Anfänger:

    ich habe ein Objekt "Auto" mit 4 Variablen "speed, avg, time, max".
    Jetzt will ich eine Art Matrix mat erstellen, in der jedes Matrixelement (zB mat[5][9]) eine Liste mit "Autos" ist.
    D.h. ich will später mal sagen ... mat[7][6].pushBack(meinAuto);

    Wie mache ich das???
    so gehts nicht 😞 :

    ...
    typedef list<auto> autoList;
    ...
    autoList **const al = new autoList* [4];
    // 3x6-Matrixx
    int i;
    for(i=0; i<4; ++i)	{
         al[i] = new autoList [7];
    }
    

    später möchte ich dann folgendes:

    auto myCar;
    myCar.max=197.4;
    myCar.avg=99.897;
    myCar.time=7.0;
    myCar.speed=125.0;
    
    al[2][1].pushBack(myCar);
    

    leider funktionierts so nicht 😞



  • ich glaub ich versteh hir dein Problem nicht..
    aber wieso brauchst du ein 2dimensionales Array (also 2DMatrix) dafuer??



  • Das eigentliche Problem ist ein ganz anderes-ich habe es nur vereinfacht.
    Mein Problem ist, dass ich es nicht schaffe, eine 2D-Matrix zu erzeugen, deren Elemente Listen sind. Und diese Listen sind nicht übliche Listen, die double oder int-Werte beinhalten, sondern Klassenobjekte (hier Autos) - das mit der Matrix musst du einfach hinnehmen, spielt ja keine Rolle, wieso ich da ne Matrix brauche...

    hoffe es ist jetzt verständlicher?

    Danke schonmal...
    Tugi2o



  • dynamisch:

    std::vector<std::vector<std::list<auto>/*Abstand!!*/>/*Abstand!!*/> 2dmatrixautolist;
    

    mfg



  • Hi!

    Vielen Dank! das werde ich sofort probieren - sieht vielversprechend aus!!!
    ThX

    Tugi2o



  • wenn das objekt vom Typ "Auto" ist solltest du eine liste von "Auto" benutzen und keine von "auto" was wiederum nicht wirklich ein guter name für ein objekt ist .. man achte auf das syntax-coloring ..
    naja es sei denn es haldelt sich um einen tippfehler dann vergiss dieses post


Anmelden zum Antworten