Ich habe eine Datei mit der Bezeichnung Daten Daten aus der Datei beschriftet wie:C++ Lesung
Label1,0.002546,0.054126,...
...
...
LabelN,0.025413,0.985412,...
Was ich will, ist Etiketten zu speichern, um std::vector<std::string>
und Daten zu std::vector<std::vector<double>>
Also, das ist, was ich versucht:
input.open(files.at(0));
while (std::getline(input, line)) {
std::istringstream is(line);
// Get label
labels.push_back(*(++std::istream_iterator<string>(is)));
// Get data
data.push_back(std::vector<double>(++std::istream_iterator<double>(is), std::istream_iterator<double>()));
}
Aber das funktioniert nicht und ich erhalte immer
Debug Assertion Failed!
Programm: C: \ Windows \ system32 \ MSVCP120D.dll
Datei: c: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ vc \ include Vektor
Zeile \: 72
Expression: Vektor-Iterator nicht dereferencable
Welche Zeile ist 72? –
@underscore_d Das ist, was Visual Studio Pop-up-Fenster sagt. – DimChtz
Die Verwendung von temporären Iteratoren sieht wirklich verdächtig aus. Ich würde 'std :: iStream_iterator (is) 'eine benannte Variable in der Schleife machen und sehen, ob das Problem bestehen bleibt. –
NathanOliver