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 :
in der zweite Funktion fülle ich den Vector :
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
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);
Code:
std::vector< int> *temp = new std::vector<int>; grains->push_back(temp); ((*grains)[0])->push_back(0);
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
Comment