Map mit Indexen oder Vectoren mit keys



  • Klassen habe ich aktuell keine (siehe oben, mehr als die paar Funtkionen und das struct hab ich net)
    Verstaendnisfrage: wenn ich net static... hinschreibe wird nichts static, oder? Das hab ich naemlich nirgends verwendet.



  • Fast - auch globale Objekte (also alles, was du außerhalb der main() angelegt hast) werden statisch initialisiert, bevor das Programm richtig startet.



  • Hmm, ich bau einfach mal die Dateienumrisse hier zusammen. (einfaches copy paste geht gerade nicht, das Programm ist auf meinem Labtop, aber der PC meiner Gastfamilia ist gerade am Internet angeschlossen und soll das auch bleiben...)

    vocstruct.h

    struct voc
    {
     std::string word;
     std::vector<std::string> meanings;
     char diff;
    };
    
    bool operator<(const voc &l,const voc &r);
    std::ostream &operator<<(std::ostream &out,const voc &v);
    

    vocstruct.cpp

    #include <vector>
    #include <string>
    #include <iostream>
    #include "vocstruct.h"
    
    bool operator<(const voc &l,const voc &r)
    {
    ...
    }
    
    std::ostream &operator<<(std::ostream &out,const voc &v)
    {
    ...
    }
    

    finout.h

    void fin(std::vector<voc> &flol,std::vector<voc> &olfl); //Foreign Language to Own Language und umgekehrt
    void fout(const std::vector<voc> &flol,const std::vector<voc> &olfl);
    

    finout.cpp

    #include <vector>
    #include <string>
    #include <fstream>
    #include "vocstruct.h"
    
    void fin(std::vector<voc> &flol,std::vector<voc> &olfl)
    {
    ...
    ...
    }
    
    void fout(const std::vector<voc> &flol,const std::vector<voc> &olfl)
    {
    ...
    ...
    }
    

    vocabeltrainer.cpp

    #include <vector>
    #include <string>
    #include <iostream>
    #include "vocstruct.h"
    #include "finout.h"
    
    int main()
    {
    ...
    }
    

    Sollten die Inhalte der Funktionen fuer dieses Problem relevant sein sagt bitte bescheid.



  • Erstmal solltest du die für die Strukturdeklaration benötigten STL-header direkt in deine Header einbinden, anstatt dich darauf zu verlassen, daß sie immer vor dem #include eingebunden wurden (außerdem steht die std::ostream im Header <ostream>).



  • Ok, habs geaendert, danke

    Der Fehler kommt aber immernoch
    "This application has requested the runtime to terminate it in an unusual way. Please contact the application`s support team for more information"

    EDIT: resp. mit debugger:
    "Unbehandelte Ausnahme bei 0x7c812a5b in vocabeltrainerconsole.exe:
    Microsoft C++ Ausnahme std::out-of-range an Speicherposition 0x0012fcc4"

    "Unbehandelte Ausnahme bei 0x00407d87 in vocabletrainer.exe:
    0xC000005: Zugriffsverletzung beim Schreiben an Position 0x0000000"

    usw.



  • Das Problem hat ich geloest, auch wenn ich nicht ganz verstehe wie...

    Vielen Dank fuer die Hilfe, jetzt funzt mal das aus File einlesen, in std I/O ausgeben, und wieder in File reinschreiben.

    Jetzt fehlt eigentlich nur noch... ehm... naja, der ganze rest, hehe.


Anmelden zum Antworten