Vecktor auslesen...



  • Hi zusammen,
    habe wieder mal eine frage!

    Habe folgenden Klassenstruktur:

    class Daten
    {
      private:
      public:
      __fastcall Daten(AnsiString Daten);
      AnsiString gibDaten();
      ...
    }
    

    Jetzt habe ich mir einen Vector angelegt, welcher mit der Klasse gefüllt wird.

    std::vector<Daten> VectorDaten;
    ...
     VectorDaten.push_back(Daten("Daten"));
    ..
    

    Nehmen wir an, dass jetzt die Klasse Daten viel mehr funktionen hat und der Vector mit viel mehr Datensätzen gefüllt ist!

    Wie kann ich jetzt z.B genau den 20igsten Datensatz rauslesen?

    Habe es so probiert:

    Daten da = (Daten)VectorDaten[20];
    AnsiString test = da->gibDaten();
    

    Der Compiler mekert aber bei "da->..."!!!

    Warum?

    Kann ich das irgendwie anderst realisieren?

    Danke Bench



  • Bench_XProjects schrieb:

    Der Compiler mekert aber bei "da->..."!!!

    Warum?

    Weil da kein Zeiger ist. Nimm einen Punkt.
    Und der Cast auf Daten ist überflüssig.



  • Ähmm, ok!
    Meinst du etwa

    AnisString test = da.gibDaten();
    

    Hab ich aber auch schon probiert und hat auch nicht funktioniert!?

    Oder was meinst u!

    Danke



  • "hat auch nicht funktioniert" ist keine ausreichende Fehlerbeschreibung.

    Daten da = VectorDaten[20];
    AnsiString test = da.gibDaten();
    

    Oder einfach

    AnsiString test = VectorDaten[20].gibDaten();
    


  • HI,

    ok danke für deine Antwort!
    Probier ich aus!!

    Meld mich, wenns nicht geklappt hat!!

    Bench


Log in to reply