fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <list>
  4. #include <iterator>
  5. #include <typeinfo>
  6. #include <vector>
  7.  
  8. using namespace std;
  9.  
  10.  
  11.  
  12. class Edition {
  13.  
  14. protected :
  15.  
  16. string NameEd;
  17. string adress;
  18.  
  19. public :
  20. Edition () {
  21. cout << "Введите название печатного издания "<<endl;
  22. cin>>NameEd;
  23. cout<<"Введите адрес печатного издания "<<endl;
  24. cin>>adress;
  25. }
  26. Edition (string a,string b){
  27. NameEd=a;
  28. adress=b;
  29. }
  30. string getNameEd () {return NameEd;}
  31. string getadress () {return adress;}
  32. virtual void print();
  33.  
  34. };
  35.  
  36.  
  37.  
  38. class Book : public Edition {
  39. protected :
  40. string name;
  41. int year;
  42. string author;
  43. int pages;
  44.  
  45. public:
  46. string getname () { return name; }
  47. int getyear() {return year;}
  48. string getauthor() {return author;}
  49. int getpages() {return pages;}
  50. virtual void print();
  51. Book ();
  52. };
  53.  
  54. class StudentBook : public Book{
  55.  
  56. protected :
  57. string subject;
  58. int grade;
  59.  
  60. public :
  61. string getsubject() {return subject;}
  62. int getgrade() {return grade;}
  63. virtual void print();
  64. StudentBook () {
  65. cout << "Введите название "<< endl;
  66. cin >> name;
  67. cout << "Введите предмет "<<endl;
  68. cin>>subject;
  69. cout << "Введите автора "<<endl;
  70. cin>>author;
  71. cout << "Введите класс "<<endl;
  72. cin>>grade;
  73. cout<<"Введите год издания"<<endl;
  74. cin>>year;
  75. cout<<"Введите количество страниц"<<endl;
  76. cin>>pages;
  77.  
  78. }
  79. };
  80.  
  81. class Journal : public Book{
  82.  
  83. protected:
  84. //string name;
  85. int issue;
  86.  
  87. public :
  88. //string getname() {return name;}
  89. int getissue() {return issue;}
  90. void print();
  91. Journal () {
  92. cout << "Введите название "<< endl;
  93. cin >> name;
  94. cout << "Введите автора "<<endl;
  95. cin>>author;
  96. cout << "Введите номер выпуска "<<endl;
  97. cin>>issue;
  98. cout<<"Введите год издания"<<endl;
  99. cin>>year;
  100. cout<<"Введите количество страниц"<<endl;
  101. cin>>pages;
  102.  
  103. }
  104. };
  105.  
  106. void add (list <Edition> c) {
  107. int p;
  108. cout << "1 - добавить печатное издание "<<endl;
  109. cout << "2 - добавить книгу "<<endl;
  110. cout << "3 - добавить учебник"<<endl;
  111. cout << "4 - добавить журнал"<<endl;
  112. cin >> p;
  113. if (p ==1 ) { Edition t; c.push_back(t);}
  114. else if (p==2) {Book t; c.push_back(t);}
  115. else if (p==3) {StudentBook t; c.push_back(t);}
  116. else if (p==4) {Journal t; c.push_back(t);}
  117.  
  118. }
  119. Book::Book () : Edition() {
  120.  
  121. cout << "Введите название "<< endl;
  122. cin >> name;
  123. cout << "Введите автора "<<endl;
  124. cin>>author;
  125. cout<<"Введите год издания"<<endl;
  126. cin>>year;
  127. cout<<"Введите количество страниц"<<endl;
  128. cin>>pages;
  129.  
  130. }
  131. void Edition::print() {
  132. cout << this->NameEd << ' ' << this->adress<<endl;
  133. }
  134.  
  135. void Book::print() {
  136. this->Edition::print();
  137. cout <<this->name<<' '<<this->author<<' '<< this->pages<<endl;
  138. }
  139. void StudentBook :: print () {
  140. this-> Book :: print();
  141. cout<<this->subject<<' '<<this->grade<<endl;
  142. }
  143. void Journal :: print () {
  144. this-> Book :: print();
  145. cout <<this->issue<<endl;
  146. }
  147.  
  148. int main () {
  149. int n;
  150. list <Edition> c;
  151. cout << "1 - добавить в список печатное издание " << endl;
  152. cout << "2 - добавить книгу" << endl;
  153. cout << "3 - добавить учебник" << endl;
  154. cout << "4 - добавить журнал" << endl;
  155. cout << "5 - вывести учебниуки по данному предмету " << endl;
  156. cout << "6 - вывести весь список " << endl;
  157. cout << "7 - завершить работу программы "<< endl;
  158. cin >>n;
  159. while (n!=7) {
  160. if (n == 1) {
  161. Edition t; c.push_back(t);
  162. cin >> n;
  163. }
  164. if (n == 2) {
  165. Book t; c.push_back(t);
  166. t.print();
  167. cin>>n;
  168. }
  169. if (n == 3) {
  170. StudentBook t; c.push_back(t);
  171. cin >> n;
  172. }
  173. if (n == 4) {
  174. Journal t; c.push_back(t);
  175. cin >> n;
  176. }
  177. }
  178.  
  179.  
  180. list <Edition * >::iterator it;
  181. int y = 0;
  182. //int a= c.size();
  183. for (it=c.begin(); it != c.end(); it++) {
  184. cout << y << " элемент списка \n";
  185. y++;
  186. //Edition *it = c.begin();
  187. //if (typeid(c[i]) ==typeid(Book)) {
  188. Edition *t = *it;
  189. t->print();
  190. //}
  191. }
  192. }
  193.  
  194.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:183:20: error: no match for ‘operator=’ (operand types are ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ and ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’)
    for (it=c.begin(); it != c.end(); it++) {
                    ^
In file included from /usr/include/c++/6/list:63:0,
                 from prog.cpp:3:
/usr/include/c++/6/bits/stl_list.h:128:12: note: candidate: constexpr std::_List_iterator<Edition*>& std::_List_iterator<Edition*>::operator=(const std::_List_iterator<Edition*>&)
     struct _List_iterator
            ^~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_list.h:128:12: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’ to ‘const std::_List_iterator<Edition*>&’
/usr/include/c++/6/bits/stl_list.h:128:12: note: candidate: constexpr std::_List_iterator<Edition*>& std::_List_iterator<Edition*>::operator=(std::_List_iterator<Edition*>&&)
/usr/include/c++/6/bits/stl_list.h:128:12: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’ to ‘std::_List_iterator<Edition*>&&’
prog.cpp:183:26: error: no match for ‘operator!=’ (operand types are ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ and ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’)
    for (it=c.begin(); it != c.end(); it++) {
                       ~~~^~~~~~~~~~
In file included from /usr/include/c++/6/list:63:0,
                 from prog.cpp:3:
/usr/include/c++/6/bits/stl_list.h:194:7: note: candidate: bool std::_List_iterator< <template-parameter-1-1> >::operator!=(const _Self&) const [with _Tp = Edition*; std::_List_iterator< <template-parameter-1-1> >::_Self = std::_List_iterator<Edition*>]
       operator!=(const _Self& __x) const _GLIBCXX_NOEXCEPT
       ^~~~~~~~
/usr/include/c++/6/bits/stl_list.h:194:7: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’ to ‘const _Self& {aka const std::_List_iterator<Edition*>&}’
In file included from /usr/include/c++/6/iosfwd:40:0,
                 from /usr/include/c++/6/ios:38,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/postypes.h:221:5: note: candidate: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/include/c++/6/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::fpos<_StateT>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_pair.h:444:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:444:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::pair<_T1, _T2>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:304:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:304:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:361:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:361:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:1125:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:1125:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::move_iterator<_IteratorL>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/ios:40,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:1131:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:1131:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::move_iterator<_IteratorL>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/string:41:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/allocator.h:158:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/include/c++/6/bits/allocator.h:158:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::allocator<_CharT>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/string:41:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/allocator.h:164:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/6/bits/allocator.h:164:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::allocator<_CharT>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/string:52:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/basic_string.h:5112:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/6/bits/basic_string.h:5112:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/string:52:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/basic_string.h:5125:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^~~~~~~~
/usr/include/c++/6/bits/basic_string.h:5125:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   mismatched types ‘const _CharT*’ and ‘std::_List_iterator<Edition*>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/string:52:0,
                 from /usr/include/c++/6/bits/locale_classes.h:40,
                 from /usr/include/c++/6/bits/ios_base.h:41,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/basic_string.h:5137:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/6/bits/basic_string.h:5137:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/bits/ios_base.h:46:0,
                 from /usr/include/c++/6/ios:42,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/system_error:311:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/6/system_error:311:3: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ to ‘const std::error_code&’
/usr/include/c++/6/system_error:315:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/6/system_error:315:3: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ to ‘const std::error_code&’
/usr/include/c++/6/system_error:319:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/6/system_error:319:3: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ to ‘const std::error_condition&’
/usr/include/c++/6/system_error:323:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^~~~~~~~
/usr/include/c++/6/system_error:323:3: note:   no known conversion for argument 1 from ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ to ‘const std::error_condition&’
In file included from /usr/include/c++/6/bits/locale_facets.h:48:0,
                 from /usr/include/c++/6/bits/basic_ios.h:37,
                 from /usr/include/c++/6/ios:44,
                 from /usr/include/c++/6/ostream:38,
                 from /usr/include/c++/6/iostream:39,
                 from prog.cpp:1:
/usr/include/c++/6/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/include/c++/6/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/list:63:0,
                 from prog.cpp:3:
/usr/include/c++/6/bits/stl_list.h:293:5: note: candidate: template<class _Val> bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Tp>&)
     operator!=(const _List_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stl_list.h:293:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition>::iterator {aka std::_List_iterator<Edition>}’ is not derived from ‘const std::_List_const_iterator<_Tp>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/list:63:0,
                 from prog.cpp:3:
/usr/include/c++/6/bits/stl_list.h:1894:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)
     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/6/bits/stl_list.h:1894:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/iterator:66:0,
                 from prog.cpp:4:
/usr/include/c++/6/bits/stream_iterator.h:137:5: note: candidate: template<class _Tp, class _CharT, class _Traits, class _Dist> bool std::operator!=(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&)
     operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
     ^~~~~~~~
/usr/include/c++/6/bits/stream_iterator.h:137:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
In file included from /usr/include/c++/6/vector:64:0,
                 from prog.cpp:6:
/usr/include/c++/6/bits/stl_vector.h:1533:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/6/bits/stl_vector.h:1533:5: note:   template argument deduction/substitution failed:
prog.cpp:183:35: note:   ‘std::__cxx11::list<Edition*>::iterator {aka std::_List_iterator<Edition*>}’ is not derived from ‘const std::vector<_Tp, _Alloc>’
    for (it=c.begin(); it != c.end(); it++) {
                                   ^
stdout
Standard output is empty