Fehler beim Löschen des Inhaltes eines Vectors
-
Hallo Leute,
warum kann ich nicht den Inhalt meines Vectors, der mit struct gefüllt ist Löschen ?
Hier der Source:
// meine Klasse struct struGruppeBenutzer { std::string strGruppenname; std::string strBenutzer; }; class CGruppenListe { private: struGruppeBenutzer m_GruppeBenutzer; std::vector<struGruppeBenutzer> m_vGruppeBenutzer; }Und so möchte ich den Vector wieder Löschen:
for(int x=0;x < m_vGruppeBenutzer.size();x++) { delete m_vGruppeBenutzer[x]; } m_vGruppeBenutzer.clear();Er bringt mir folgende Fehlermeldung:
error C2440: 'delete' : 'struct struGruppeBenutzer' kann nicht in '' konvertiert werden
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werdenICh kann mit der Fehlermeldung nichts anfangen.
Gruß und Danke
andy_mann
-
Hallo,
man kann mit delete nur über mit new besorgte Zeiger die dadurch referenzierten Objekte löschen.
MfG
-
Vielen Dank,
das heist, dass wenn ich die Klasse verlasse der Inhalt wieder leer ist...
Gruß
andy_mann
-
andy_mann schrieb:
das heist, dass wenn ich die Klasse verlasse der Inhalt wieder leer ist...
ja, genau, clear benötigst du nur, wenn du zwischendurch den vector völlig entleeren mußt, unabhängig von der Existenz der Objekte/Zeiger/Daten, die in ihm gespeichert sind
MfG