Vektor Matrix zu Array



  • UPDATE: Hat sich erledigt. Hab im Eifer des Gefechts anstatt = eine Zuweisung mit << gemacht, was unsinnig ist.
    //===========================================================================
    Hallo

    Ich habe folgende Vektor Matrix deklariert:

    vector< vector<int> > muster( MAX_MUSTER,vector<int>(ADSIZE) );
    

    Nun will ich diese Matrix in ein Array umschreiben. Nun jetze ich:

    int muster_bin[MAX_MUSTER][ADSIZE];    
    
    for(ik=0; ik<MAX_MUSTER; ik++)
    {
        for(il=0; il<ADSIZE; il++)
        {
        muster_bin[ik][il] << muster[ik][il];
        }
    }
    

    Leider steht in der (array) Matrix muster_bin nur Nullen, wohingegen die (vector) Matrix muster anderen Inhalt besitzt.

    Wieso wird mit dieser for-Schleife der Inhalt von muster nicht in muster_bin übertragen?

    Danke und Grüße



  • muster_bin[ik][il] << muster[ik][il];
    
    // ->
    
    muster_bin[ik][il] = muster[ik][il];
    


  • hab ich bereits gesehen aber trotzdem Danke.



  • warum nicht:

    #include <array>

    array<array<T2, dim2>, dim1> arr;

    benutzen, dann müsste die Indizierung trotzdem funktionieren,
    weil ja arr.at(idx) ein array zurückgibt, dieses aber auch die .at methode aufweist. somit sollte also arr.at(i1).at(i2) funktionieren.
    Ebenso sollte es mit den eckigen Klammer gehen, weil ja arr[i1] ein array ist, was wiederum mit eckigen Klammern indiziert werden kann.


Anmelden zum Antworten