struktur kopieren. Wie?
-
Hi,
Ich habe in einer Klasse eine Struktur definierttypedef struct tblHW_Roads { int id; int line; int point; float lat; float lon; char* ende; }tblRoads;
Ich habe in UNIT1 einen Vector dbs->road und ihn mit Werten gefüllt
dbs ist die Klasse und road die abgeleitete Struktur.In der Unit1 habe ich die gleiche Struktur
typedef struct ROADS { int id; int line; int point; float lat; float lon; char* ende; }ROADS; vector<ROADS> road;
und möchte erstere Werte in die zweite kopieren
Mein Ansatz
vector<ROADS> road; copy (dbs->road.begin(), dbs->road.end(), road);
funktioniert so nicht. Die BCB-Hilfe bringt mich nicht weiter.
Weiß jemand wie das geht?
-
Hallo
ganz allgemein gesprochen
"funktioniert so nicht" ist keine definierte Fehlermeldung
sag uns doch was nichzt funktioniert
Fehlermeldung
...
...MfG
Klaus
-
Hallo,
Zuerst ein paar Fragen
1. Warum deklarierst du zweimal die gleiche Struktur ?
2. Warum verwendest du die alte C-Schreibweise zum Deklarieren der Struktur (typdef sruct ...) ?
3. Wird dein vector road auch mit Werten belegt ?
4. Warum verwendest du char* statt std::string o.ä. ?Hinweis
Wenn du vector auf eine eigene struct (bzw. class) verwendest, benötigst du einen copy-ctor sowie Zuweisungsoperator. Solange du keine Pointer darin verwendest genügen ja die defaultmässig erstellten, bei dir aber nicht (wegen char*).Ciao und guten Rutsch
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Braunstein schrieb:
Hallo,
Zuerst ein paar Fragen
1. Warum deklarierst du zweimal die gleiche Struktur ?
2. Warum verwendest du die alte C-Schreibweise zum Deklarieren der Struktur (typdef sruct ...) ?
3. Wird dein vector road auch mit Werten belegt ?
4. Warum verwendest du char* statt std::string o.ä. ?Ciao und guten Rutsch
Also erst mal zu den Fragen
1. Die Werte in der ersten Struktur sollen während der gesamten Laufzeit erhalten bleiben, währen die zweite bei bedarf aufgerufen und zerlegt wird ohne die erste zu zerlegen:
2. Ist es denn vorteilhafter einfach (struct...) zu verwenden?
3. Ja. in diesen werden bei bedarf alle Werte des ersten Vectors reinkopiert.
4. Belegen Strings nicht mehr Speicher als chars? Meine chars bestehen nur aus zwei Buchstaben. Ich glaube das der Speicher dankbar ist.KlausB schrieb:
"funktioniert so nicht" ist keine definierte Fehlermeldung
sag uns doch was nichzt funktioniert
FehlermeldungNa ich dachte der Fehler währe Augenscheinlich für den, der öfter mal Strukturen kopiert. Wollte nur ´n Tip.
So jetzt wünsche ich auch nen guten rutsch an alle zusammen.