0

次の単純なプログラムのコンパイル時 (gcc Linux):

  1 #include <vector>
  2 #include <iostream>
  3 #include <iterator>
  4 #include <algorithm>
  5 using namespace std;
  6
  7 int main()
  8 {
  9         vector<int> numvec;
 10         istream_iterator<int> is;
 11         istream_iterator<int> eof;
 12         is=istream_iterator<int>(cin);
 13         copy(is, eof, back_inserter(numvec));
 14         cout << "Number of values inserted: " << numvec.size() << endl;
 15
 16         ostream_iterator<int> os;
 17         os=ostream_iterator<int>(cout);
 18         copy(numvec.begin(), numvec.end(), os);
 19
 20 }

次のエラーが発生しました。

line 16: error: no matching function for call to 
'std::ostream_iterator<int, char, std::char_traits<char> >::ostream_iterator()'

定義せずに ostream_iterator のみを宣言することはできませんか? これは istream_iterator の場合です (10 行目と 11 行目)。ostream_iterator で機能しないのはなぜですか?

ありがとう

4

2 に答える 2