Announcement

Collapse
No announcement yet.

stl vector in anderer Funktion füllen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • stl vector in anderer Funktion füllen

    Hi Leute,

    ich versuche, einen zweidimensionalen std::vector in einer funktion zu füllen.

    Dh, ich erstelle in der ersten Funktion einen Vector und übergebe ihn an die zweite :
    Code:
    vector< const vector<int>* > grains;
    get_grains(data, dim, &grains);
    in der zweite Funktion fülle ich den Vector :
    Code:
    std::vector< int> *temp = new std::vector<int>;
    grains->push_back(temp);		
    ((*grains)[0])->push_back(0);
    Ich musste die inneren vectoren als Zeiger speichern und von Hand initialisieren weil der äussere Vector das nicht alleine macht wenn man resize() aufruft.

    nun ist das Problem, dass die inneren Vectoren beim verlassen der zweiten funktion scheinbar wieder gelöscht werden, jedenfalls kommt in der ersten Funktion nur Müll an.

    kann ich dem klarmachen, dass ich die daten noch brauche?

    habt schonmal Dank im Vorraus, Martin

  • #2
    die Variable global definieren
    Christian

    Comment


    • #3
      Globale Variable

      Hallo

      Ich bezweifle, dass das Globalisieren der Variabl der optimale Weg ist.
      Du kannst sie ja auch als Parameter an die zweite Funktion übergeben.

      Simon

      Comment


      • #4
        Ich bezweifle, dass das Globalisieren der Variabl der optimale Weg ist.

        Und warum nicht??

        Du kannst sie ja auch als Parameter an die zweite Funktion übergeben.
        Klar geht das, aber wenn du dann noch mehrere Funktionen hast?? An alle eine schöne Übergabekette bilden??

        Ich bezweifele, dass das der optimale Weg ist

        Vielfach werden globale Variablen verteufelt. Aha. Warum
        Christian

        Comment

        Working...
        X