operator überlagen mit cout und ofstream



  • Heyy 🙂
    Ich versuche gerade ein altes Programm zu optimieren, und hab zwei Funktionen, die sich recht ähnlich sind, sie unterscheiden sich nur durch "std::cout""ofstream".
    Jetzt dachte ich dass man daraus eine Funktion macht und cout und ofstream als Argumente nimmt. Nach kurzer Recherche bin ich auf auf operatoren überlagen gestoßen und hab mir dass zusammen gebasteltet:

    void ausgabe (std::ofstream& stream)
    

    Hier funkt es:

    fahrrad1.ausgabe(std::cout);
    

    Hier nicht:

    fahrrad1.ausgabe(std::ofstream);
    

    (Fehlermedlung: "expected primary-expression before ')' token"

    Hat jemand eine Idee woran dass liegen könnte?
    Schon mal vielen Dank 🙂



  • nur mal geraten: include vergessen?



  • volkard schrieb:

    nur mal geraten: include vergessen?

    Also fstream und iostream sind drin..und einzeln funkt ofstream ja auch..oder muss da noch was rein?



  • Std::ofstream ist ein Datentyp, std::cout eine Instanz dieses Typs. Du musst also eine Instanz übergeben, d.h. eine Datei öffnen.



  • manni66 schrieb:

    Std::ofstream ist ein Datentyp, std::cout eine Instanz dieses Typs. Du musst also eine Instanz übergeben, d.h. eine Datei öffnen.

    Sry..aber dass heißt? Bin noch recht neu beim programmieren.
    Aber falls es hilft: es geht um ein array, dass recht kompliziert "formatiert" wird..einmal möchte ich es auf derKonsole ausgeben (cout) und einmal in einer Datei speichern (ofstream)



  • Ja, und an welcher Stelle übergibst du die Datei?


Log in to reply