Ich brauche eine sehr einfache Sache in C++: Verwenden Sie einen von zwei Eingabe-Streams - Datei oder Stdin - abhängig von bestimmten Bedingungen.
wie folgt aus:Stream zur Eingabe auswählen
istream s;
if (true)
s = cin;
else
s = ifstream(argv[1]);
while (s.read()) /* ... */
Hoffnung ist die Idee klar.
Zunächst einmal scheint es, es nicht in der Lage ist istream
Variable zu deklarieren, ohne Verbindung zu einem Gerät oder eine Datei oder was auch immer (istream
, weil es für ifstream
und ci
n üblich ist).
Die zweite Sache ist es nicht in der Lage ist istream
Variable überhaupt zu erklären, Compiler sagt:
error: ‘std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char, _Traits = std::char_traits<char>]’ is protected
Und deshalb die Klasse habe ich dann für diese Zwecke zu benutzen?
Also, nicht verstanden. Bitte helfen Sie. Danke.
Ich merke, dass dies Ihre erste Post auf Stack Overflow ist. [Hier] (http://StackOverflow.com/faq#howtoask) können Sie lesen, wie Sie Fragen stellen, Antworten bewerten und möglicherweise die Antwort annehmen, die Sie für die nützlichste halten. –