std::vector::push_back + structure
-
Tagchen
ich habe in meiner klasse einen std::vector<kundendaten> xy
wenn ich ein neuen kunden hinzufügen will mach ich das so:xy.at(i).Vorname = "..." ; xy.at(i).Nachname = "..." ; xy.at(i).Ort = "..." ;Funktioniert soweit.
Jetzt brauche ich aber std::vector::push_back um die neuen Daten ans Ende zu verfrachten.
xy.push_back( ??? ).Vorname?? Hilfe!
Bedanke mich im voraus :xmas1:
-
???
kundendaten kd; kd.Vorname = "..."; kd.Nachname = "..."; kd.Ort = "..."; xy.push_back(kd);MfG SideWinder
-
Oder du schreibst dir einen Ctor und machst:
xy.push_back(kundendaten("Hans", "Meier", "Springfield"));
-
arrr
das habe ich auch schon probiert, geht aber auch nicht:
//class.cpp void Treasure::Add ( const std::string& vorname, const std::string& nachname, const std::string& ort ) { KundenDaten.Vorname = vorname ; KundenDaten.Nachname = nachname ; KundenDaten.Ort = ort ; Data.push_back( KundenDaten ) ; }Die Struktur hab ich in der .h Datei so definiert:
//class.h class xy { //... private: struct KundenDaten { std::string Vorname ; std::string Nachname ; std::string Ort ; }; std::vector<KundenDaten> Data ; };bekomme aber diese Fehlermeldung:
3x error: expected unqualified-id before ‘.’ token
Danke für deine Hilfe
-
Du musst auch erst eine Variable dieses Typs anlegen:
KundenDaten kundenDatenVariable; // Hat bei dir gefehlt! kundenDatenVariable.Vorname = vorname ; kundenDatenVariable.Nachname = nachname ; kundenDatenVariable.Ort = ort ; Data.push_back( kundenDatenVariable ) ;
-
peeeeeeeeeeeinlich
dankeee!!!
-
Ahhh, und was ich jetzt erst sehe... Du solltest die Struktur nicht in der Klasse deklarieren!
struct ... { } class ... { };