Initializieurng einer std::ifstream variable



  • hi,
    Ich möchte gerne in einer Funktion die als Argument std:ifsteam &fin nimmt dieses Argument mit einer Default-Initializierung versetzen wie zb std::ifstream &fin = NULL aber diese möglichkeit funktioniert nicht, kann mir einer bei diesem Problem weiterhelfen?



  • Referenzen kann man nicht auf NUll setzen. Dazu müsstest du dann schon einen zeiger nehmen. Eine andere Möglichkeit wäre, die Funktion zu überladen (einmal mit ifstream-Argument und einmal ohne) und die gemeinsamen Teile in eine andere Funktion auszulagern.



  • Vielleicht würde ich mir einen null_stream bauen, der einfach alle Ausgabeversuche ignoriert.



  • ClaudeG schrieb:

    Ich möchte gerne in einer Funktion die als Argument std:ifsteam &fin nimmt dieses Argument mit einer Default-Initializierung versetzen wie zb std::ifstream &fin = NULL aber diese möglichkeit funktioniert nicht, kann mir einer bei diesem Problem weiterhelfen?

    Wie meinst du Default-Initialisierung? Ein Nullzeiger würde das Objekt selber nicht initialisieren. Möchtest du ein Objekt im Default-Status oder kein Objekt? Was willst du genau erreichen, hast du ein konkretes Codebeispiel?

    volkard schrieb:

    Vielleicht würde ich mir einen null_stream bauen, der einfach alle Ausgabeversuche ignoriert.

    Oder einfach ein böses Bit setzen. 😉


Anmelden zum Antworten