stream Referenz
-
class foo { ... void read(istream&) ... }; main() { //das geht nicht: foo bla; bla.read(ifstream("a.txt")); //das geht: foo bla; ifstream blub("a.txt"); bla.read(blub); }Warum geht das erste nicht? ich dachte ein Parameter hat die Laufzeit der Funktion, warum gibt das also Probleme?
-
Hallo,
eine Referenz auf nicht-const kann nur an ein lvalue gebunden werden. Das unbenannte Objekt, dass als Ergebnis von ifstream("a.txt") entsteht, ist aber kein lvalue. Deshalb kommt der Fehler.