friend ostream Problem



  • Hi,
    ich hab folgendes Problem. Ich habe eine Funktion

    friend ostream &operator<<(ostream& , const String&);
    

    angekündigt und bekomme folgende Fehler

    c:\uebung\stringklasse\jansstring.h(22) : error C2143: Syntaxfehler : Fehlendes ';' vor '&'
    c:\uebung\stringklasse\jansstring.h(22) : error C2433: 'ostream' : 'friend' bei der Deklaration von Daten nicht zulaessig
    c:\uebung\stringklasse\jansstring.h(22) : error C2501: 'ostream' : Fehlende Speicherklasse oder Typspezifizierer
    c:\uebung\stringklasse\jansstring.h(22) : error C2244: '<unbekannt>' : Keine Übereinstimmung für Funktionsdefinition mit vorhandener Deklaration gefunden
    c:\uebung\stringklasse\jansstring.h(22) : error C2061: Syntaxfehler : Bezeichner 'ostream'
    c:\uebung\stringklasse\jansstring.h(22) : error C2501: '<<' : Fehlende Speicherklasse oder Typspezifizierer
    c:\uebung\stringklasse\jansstring.h(22) : error C2805: Binaerer Operator '<<' hat zu wenig Parameter
    c:\uebung\stringklasse\jansstring.h(23) : error C2143: Syntaxfehler : Fehlendes ';' vor '&'

    Meine Funktion sieht so aus

    ostream &operator<<(ostream &ostr ,const String &s)
    {
    	if (s.len) ostr<<s.string;
    	return(ostr);
    }
    

    Ich hoffe mir kann jemand weiterhelfen



  • Der Compiler kennt den Namen 'ostream' nicht 😉 Du mußt schon den Header <ostream> einbinden - und dann bitte den Namen mit Anschrift verwenden (std::ostream).



  • Danke!


Anmelden zum Antworten