Мне нужна очень простая вещь в C ++: используйте один из двух входных потоков - file или stdin - в зависимости от определенного условия.
Примерно так:
istream s;
if (true)
s = cin;
else
s = ifstream(argv[1]);
while (s.read()) /* ... */
Надеюсь, идея ясна.
Прежде всего, кажется, что он не может объявить переменную istream
(istream
, потому что она является общей для ifstream
и ci
n) без подключения к какому-либо устройству, файлу или чему-либо еще.
Во-вторых, он вообще не может объявить переменную istream
, компилятор говорит:
error: ‘std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char, _Traits = std::char_traits<char>]’ is protected
И, следовательно, какой класс я должен использовать для этих целей?
Итак, не удалосьчтобы понять.Пожалуйста помоги.Благодаря.