Compiler Fehler beim verwenden von ofstream und string



  • Ich habe folgendes Problem:

    BOOL Tier::Speichern(ofstream &of)
    {
    	of<<m_pos.x<<'\n'<<m_pos.y<<'\n'<<m_name.c_str()<<endl;//Compiler fehler:error C2678: Binaerer Operator '<<' :
    // Kein Operator definiert, der einen linksseitigen Operator vom Typ 'class std::basic_ofstream<char,struct std::char_traits<char> >'
    // akzeptiert (oder keine geeignete Konvertierung moeglich)
    	return true;
    }
    

    Dieser funktion wird ein ofstream objekt, bei dem f.open()schon aufgerufen wurde. m_name ist vom typ string die funktion c_str() liefert den String in chars zurück; wie wahrscheinlich hier einige wissen.
    Aber warum streikt der Compiler wenn ich chars in die Datei schreiben will?
    Das geht übrigends auch nicht:

    of<<"A"<<endl;
    

    oder

    of<<'B'<<endl;
    

    Benutze übrigends MFC bei dem Programm..

    sry, wenn ich ins falsche Froum gepostet habe.



  • Ich habe jetzt, auch noch nur

    of<<m_pos.x;
    

    ausprobiert und es kommt dasselbe. Was ist da los? Bitte dringend um Hilfe!


Anmelden zum Antworten