[VC++ 6.0] Element aus vector in Variable

C-H

Erfahrenes Mitglied
Hi!

Ich bin noch relativ frisch bei C++ (Das erstmal als Entschuldigung auf die evtl. ziemlich triviale Frage :) )

Mein Problem: Ich lese eine xml-Datei aus und speichere die Werte in einem vector:
Code:
vector< vector<QString> > *geoCoordsArray

Das funktioniert auch alles wunderbar, mit einer qmessagebox kann ich die Werte auch ausgeben:
Code:
for(i=0; i<geoCoordsArray.size(); i++)
 {
  QMessageBox::information( 0, "vector-Test", geoCoordsArray[i][0] + ">" + geoCoordsArray[i][1] + ">" + geoCoordsArray[i][2] + ">" + geoCoordsArray[i][3] );
 }

Nun möchte ich bestimmte Werte aus diesem Array in ein QString schreiben - und das klappt nicht :confused: :mad: .

Ich habe es erst so versucht - was, wie ich mittlerweise weiß, nicht funktioniert:
Code:
QString gcTemp = geoCoordsArray[i][0];

Wie ich gelesen habe, kann man so darauf zugreifen:
Code:
QString& gcTemp = geoCoordsArray[i].at(0);

Wobei at eine Referenz zurückgibt Allerdings bekomme ich auch da eine Fehlermeldung:
error C2440: 'initializing' : 'class std::vector<class QString,class std::allocator<class QString> >' kann nicht in 'class QString' konvertiert werden
Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Ueberladungsaufloesung des Konstruktors ist mehrdeutig

Dazu jetzt meine Fragen:
1. Was ist überhaupt eine Referenz? Ist das vergleichbar mit einem Zeiger? :-(
2. Ich benötige leider unbedingt ein QString. Kann ich die Referenz (ich weiß, das Folgende ist jetzt blöd ausgedrückt:) irgendwie "umwandeln"?

Hoffe mir kann geholfen werden :suspekt:
 
Hi.
Mein Problem: Ich lese eine xml-Datei aus und speichere die Werte in einem vector:
Code:
vector< vector<QString> > *geoCoordsArray
Du definierst die Variable geoCoordsArray als Zeiger auf einen vector von vector von QString's. Dann greifst du so darauf zu:
Code:
geoCoordsArray.size()
Das kann nicht sein. Irgendwo hast du dich da vertan. Ist das nun ein Zeiger oder nicht?

Gruß
 
Zurück