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.
