Array in vector



  • Hallo,
    ich möchte in C++ ein 3-Dimensionales Array in einen Vector speichern, aber irgendwie will er nicht...

    Bsp:
    vector<int[3]> tempvar2;
    int dummy2[3];
    dummy2[0] = 1;
    dummy2[1] = 2;
    dummy2[2] = 3;

    tempvar2.push_back(dummy2);

    Könnt Ihr mir weiterhelfen? Is sicherlich nicht schwer für euch.
    Übrigens möchte ich keinen Vector in einen anderen schieben- es muss unbedingt ein array[3] sein.

    Danke schonmal



  • Das geht leider genau so wenig wie int a [2], b [2] = a; . Du könntest stattdessen aber vector<int*> verwenden. Dann musst du aber sicherstellen, dass das Array auch so lange existiert wie der vector , da sonst der Pointer ungültig wird.



  • Ahh spitze genau sowas hab ich gesucht
    nur noch eine kleine Frage wie mach ich ihm dann klar, dass der zeiger ein array ist, wenn ich die Daten wieder zurückhole.
    Zur Zeit kommt noch der Fehler int * kann nicht in int[3] konvertiert werden

    Danke für Eure Hilfe



  • OK ich habs!
    Das ganze ist zwar mehr als nur unsicher, aber ich brauch das leider so.
    Vielen Dank für die Hilfe- wenn ihr ne Idee habt wie man das bissl schicker machen kann, dann nur her damit...

    tempvar2.push_back(dummy2);
    int t[3] ;
    t[0] = (tempvar2.at(0))[0];
    t[1] = (tempvar2.at(0))[1];
    t[2] = (tempvar2.at(0))[2];



  • Wieso nicht einfach:

    tempvar2.push_back(dummy2);
    int *t = tempvar2.at (0);
    

Anmelden zum Antworten