私はC++で非常に単純なことが必要です:特定の条件に応じて、2つの入力ストリーム - ファイルまたは標準入力から1つを使用します。そのような
:入力ストリームを選択
istream s;
if (true)
s = cin;
else
s = ifstream(argv[1]);
while (s.read()) /* ... */
ホープアイデアは明らかです。
まず第一に、任意のデバイスまたはファイルまたは何に接続せずに(それはifstream
とci
nに共通であるため、istream
)istream
変数を宣言することができないようです。
第二のものは、すべてでistream
変数を宣言することができないで、コンパイラは言う:私は、その目的のために使用する必要がクラス
error: ‘std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char, _Traits = std::char_traits<char>]’ is protected
そのために?
したがって、理解できませんでした。助けてください。おかげさまで
私はこれがあなたの最初の投稿であることに気付きます。 [ここ](http://stackoverflow.com/faq#howtoask)では、質問をしたり、回答を評価したり、最も役に立つと思われる回答を受け入れる方法を読むことができます。 –