Anno1989
Bekanntes Mitglied
Hallo, ich habe eine Frage.
Wenn ich einen Vector erstelle:
vector<int> CreateNewVector(1);
wie gebe ich dann den gesamten Vector im Speicher wieder frei?
Ich möchte in einer Funktion einen vector erstellen und weiter geben:
und der aufrufende Thread bekommt dann diesen Vector zurück und kann den dann über eine andere Funktion wieder zerstören, wie mache ich das nun, dass der Vector wirklich komplett aus dem Speicher verschwindet?
Wenn ichd as so wie im code kompilliere, wird als Fehler ausgegeben:
Sprich, der Vector wird zerstört, sobald die Funktion nicht mehr existiert, wie mache ich das, dass der Vector im Speicher existiert und ich einfach den Pointer von Thread zu Thread (mindestens zwei Threads arbeiten mit einem Vector) benutzen kann und irgendwann damit dann wieder den ganzen vector über den Pointer zerstören kann?
Wenn ich einen Vector erstelle:
vector<int> CreateNewVector(1);
wie gebe ich dann den gesamten Vector im Speicher wieder frei?
Ich möchte in einer Funktion einen vector erstellen und weiter geben:
Code:
vector<int> *CreateNewVector() {
vector <int>NewVector(1);
return &NewVector;
}
Wenn ichd as so wie im code kompilliere, wird als Fehler ausgegeben:
Code:
warning C4172: Adresse einer lokalen Variablen oder eines temporären Werts wird zurückgegeben