fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iterator>
  5.  
  6. template<typename T>
  7. std::ostream &operator <<(std::ostream &os, const std::vector<T> &v) {
  8. using namespace std;
  9. copy(v.begin(), v.end(), ostream_iterator<T>(os, "\n"));
  10. return os;
  11. }
  12.  
  13. template<typename T>
  14. std::ostream &operator <<(std::ostream &os, const std::vector<std::vector<T>> &v) {
  15. using namespace std;
  16. copy(v.begin(), v.end(), ostream_iterator<std::vector<T>>(os, "\n"));
  17. return os;
  18. }
  19.  
  20. int main()
  21. {
  22. std::vector<int> v;
  23. std::vector<std::vector<int>> vv;
  24. std::vector<std::vector<std::vector<int>>> vvv;
  25. std::vector<std::vector<std::vector<std::vector<int>>>> vvvv;
  26.  
  27. std::cout << v << std::endl; //ok
  28. std::cout << vv << std::endl; //ok
  29. std::cout << vvv << std::endl; //ok
  30. std::cout << vvvv << std::endl; //ok
  31. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/iterator:67:0,
                 from prog.cpp:4:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h: In member function 'std::ostream_iterator<_Tp, _CharT, _Traits>& std::ostream_iterator<_Tp, _CharT, _Traits>::operator=(const _Tp&) [with _Tp = std::vector<int>, _CharT = char, _Traits = std::char_traits<char>, std::ostream_iterator<_Tp, _CharT, _Traits> = std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:349:8:   instantiated from 'static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const std::vector<int>*, _OI = std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:404:70:   instantiated from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = const std::vector<int>*, _OI = std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:442:39:   instantiated from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = __gnu_cxx::__normal_iterator<const std::vector<int>*, std::vector<std::vector<int> > >, _OI = std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:474:18:   instantiated from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const std::vector<int>*, std::vector<std::vector<int> > >, _OI = std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >]'
prog.cpp:16:4:   instantiated from 'std::ostream& operator<<(std::ostream&, const std::vector<std::vector<_RealType> >&) [with T = int, std::ostream = std::basic_ostream<char>]'
prog.cpp:28:18:   instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h:196:2: error: cannot bind 'std::ostream_iterator<std::vector<int>, char, std::char_traits<char> >::ostream_type' lvalue to 'std::basic_ostream<char>&&'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/ostream:579:5: error:   initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char, _Traits = std::char_traits<char>, _Tp = std::vector<int>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h: In member function 'std::ostream_iterator<_Tp, _CharT, _Traits>& std::ostream_iterator<_Tp, _CharT, _Traits>::operator=(const _Tp&) [with _Tp = std::vector<std::vector<int> >, _CharT = char, _Traits = std::char_traits<char>, std::ostream_iterator<_Tp, _CharT, _Traits> = std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:349:8:   instantiated from 'static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const std::vector<std::vector<int> >*, _OI = std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:404:70:   instantiated from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = const std::vector<std::vector<int> >*, _OI = std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:442:39:   instantiated from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = __gnu_cxx::__normal_iterator<const std::vector<std::vector<int> >*, std::vector<std::vector<std::vector<int> > > >, _OI = std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:474:18:   instantiated from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const std::vector<std::vector<int> >*, std::vector<std::vector<std::vector<int> > > >, _OI = std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >]'
prog.cpp:16:4:   instantiated from 'std::ostream& operator<<(std::ostream&, const std::vector<std::vector<_RealType> >&) [with T = std::vector<int>, std::ostream = std::basic_ostream<char>]'
prog.cpp:29:18:   instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h:196:2: error: cannot bind 'std::ostream_iterator<std::vector<std::vector<int> >, char, std::char_traits<char> >::ostream_type' lvalue to 'std::basic_ostream<char>&&'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/ostream:579:5: error:   initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char, _Traits = std::char_traits<char>, _Tp = std::vector<std::vector<int> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h: In member function 'std::ostream_iterator<_Tp, _CharT, _Traits>& std::ostream_iterator<_Tp, _CharT, _Traits>::operator=(const _Tp&) [with _Tp = std::vector<std::vector<std::vector<int> > >, _CharT = char, _Traits = std::char_traits<char>, std::ostream_iterator<_Tp, _CharT, _Traits> = std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:349:8:   instantiated from 'static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const std::vector<std::vector<std::vector<int> > >*, _OI = std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:404:70:   instantiated from '_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = const std::vector<std::vector<std::vector<int> > >*, _OI = std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:442:39:   instantiated from '_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = __gnu_cxx::__normal_iterator<const std::vector<std::vector<std::vector<int> > >*, std::vector<std::vector<std::vector<std::vector<int> > > > >, _OI = std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_algobase.h:474:18:   instantiated from '_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const std::vector<std::vector<std::vector<int> > >*, std::vector<std::vector<std::vector<std::vector<int> > > > >, _OI = std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >]'
prog.cpp:16:4:   instantiated from 'std::ostream& operator<<(std::ostream&, const std::vector<std::vector<_RealType> >&) [with T = std::vector<std::vector<int> >, std::ostream = std::basic_ostream<char>]'
prog.cpp:30:18:   instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stream_iterator.h:196:2: error: cannot bind 'std::ostream_iterator<std::vector<std::vector<std::vector<int> > >, char, std::char_traits<char> >::ostream_type' lvalue to 'std::basic_ostream<char>&&'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/ostream:579:5: error:   initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char, _Traits = std::char_traits<char>, _Tp = std::vector<std::vector<std::vector<int> > >]'
stdout
Standard output is empty