我需要在C++中非常简单的事情:根据特定条件使用两个输入流中的一个 - 文件或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
也因此哪一类是我所使用为目的呢?
所以,不明白。请帮忙。 谢谢。
我注意到,这是你的第一篇文章堆栈溢出。 [Here](http://stackoverflow.com/faq#howtoask),你可以阅读如何提问,评估答案,并可能接受你认为最有帮助的答案。 – 2012-04-03 09:18:29