flags werden nicht erkannt



  • Hallo miteinander,

    ich versuche eine Datei im binary mode zu oeffnen. Beim kompilieren kommt jedesmal die Fehlermeldung:

    "ios undeclared"
    und
    "parse error before '::' token"

    [cpp]
    #include <iostream>
    #include <fstream>
    
    int main(int argc, char *argv[])
    {
     ofstream("sampleFile.bin",ios::binary | ios::app);
     return 0;
    }
    [/cpp]
    

    das ist natuerlich nur ein Ausschnitt, aber wenn ich es so kompiliere kommen die selben Fehlermeldungen. Ich benutze gcc 3.2 und SuSE 8.1 . Kompilieren tue ich so: g++ -Wall -o flagtest flagtest.cpp

    In Bjarne Stroustrups "Die C++ Programmiersprache" unter "21.5.1 File Streams" wird nicht ios:: sondern ios_base:: verwendet. Bei mir hat dies leider auch nicht funktioniert. Die Fehlermeldungen waren parallel zu denen mit ios::. Macht es einen Unterschied, ob ich ios:: oder ios_base:: nehme?
    (Auf http://www.cplusplus.com/doc/tutorial/tut6-1.html wird ios:: verwendet)

    Ich kann meinen Fehler nicht erkennen. Vieleicht könnt ihr mir sagen, was ich falsch mache.

    Danke
    Benjamin



  • #include <iostream>
    #include <fstream>
    
    int main(int argc, char *argv[])
    {
     std::ofstream("sampleFile.bin",std::ios::binary | std::ios::app);
     return 0;
    }
    

    "ios" liegt im Namensraum std 🕶

    vergessen: oder nach den includes "using namespace std;"
    danach brauchst die "std::" nicht mehr schreiben 😉


Anmelden zum Antworten