ifstream does not name a type



  • Hallo,
    habe folgendes Problem:

    ich habe eine Klasse, die u. A in Dateien lesen und schreiben soll. Also hab ich in der Headerdatei folgendes gemacht:

    #include <fstream>
    
    class XXX{
    
      private:
        ifstream input;
        ofstream output;
    
        //Da kommt noch anderer Kram, der nix damit zu tun hat
    
    };
    

    Aber ich krieg diese Fehlermeldungen:

    error: 'ifstream' does not name a type
    error: 'ofstream' does not name a type

    Wenn ich statt "<#fstream>" "<#fstream.h>" includiere, gehts mit der Warnung, das ich Antikheader benutze und ich soll doch bitteschön das '.h' weglassen. Was natürlich immer noch nicht geht.

    Kann mir das bitte mal jemand erklären?

    PS: In einem Buch hab ich gelesen:

    Verschwenden Sie keine Energie auf ausgefeilte Ein- oder Ausgabe mit den hier vorgestellten Mitteln [Das sind die Dateioperationen in C++]. Beschäftigen Sie sich statt dessen mit der [...] Programmierung von Datenbanken.

    Hat der Autor da recht? Und wo soll ich da anfangen?

    Schon mal Danke im Vorraus!



  • Danke, liebe Rechtschreibung! 🙄



  • Hallo,

    Beim header ohne .h befindet sich Alles im Namespace std. also

    #include <fstream>
    
    class XXX{
    
      private:
        std::ifstream input;
        std::ofstream output;
    
        //Da kommt noch anderer Kram, der nix damit zu tun hat
    
    };
    

    und es geht.

    PS:
    In welchem Buch hast du denn diesen Unsinn gelesen?




Anmelden zum Antworten