Speicherzugriffsfehler bei vector<>
Verfasst: Di Jul 01, 2014 4:05 pm
Liebe C++-Kollegen!
Zur Auswertung von Messdaten schreibe ich ein Programm, das diese zunächst einliest. Jeder eingelesene Datensatz wird in einem Objekt des Typs Dataset gespeichert. Die Datasets werden von der Hauptanwendungsklasse Cpw in einem vector <Dataset> abgelegt.
Es kompiliert nun ohne Fehler, aber zur Laufzeit gibt es Speicherzugriffsfehler, wenn ich entweder mindestens drei Datensätze lade oder wenn ich das Programm beende und mindestens zwei Datensätze geladen sind.
Ich hänge mal die Dateien cpw.cpp, cpw.h und main.cpp an.
In der Funktion parse_line() erkennt man, dass ich ein Dataset dynamisch anlege und mit setVector.push_back(*dataset) dem Vektor hinzufüge. Wenn ich in die Konsole "exit" tippe, wird außerdem setVector.clear() gemacht. Ist das nicht in Ordnung so?
Viele Grüße
Diddi
Zur Auswertung von Messdaten schreibe ich ein Programm, das diese zunächst einliest. Jeder eingelesene Datensatz wird in einem Objekt des Typs Dataset gespeichert. Die Datasets werden von der Hauptanwendungsklasse Cpw in einem vector <Dataset> abgelegt.
Es kompiliert nun ohne Fehler, aber zur Laufzeit gibt es Speicherzugriffsfehler, wenn ich entweder mindestens drei Datensätze lade oder wenn ich das Programm beende und mindestens zwei Datensätze geladen sind.
Ich hänge mal die Dateien cpw.cpp, cpw.h und main.cpp an.
In der Funktion parse_line() erkennt man, dass ich ein Dataset dynamisch anlege und mit setVector.push_back(*dataset) dem Vektor hinzufüge. Wenn ich in die Konsole "exit" tippe, wird außerdem setVector.clear() gemacht. Ist das nicht in Ordnung so?
Viele Grüße
Diddi