fork(1) download
  1. #include <vector>
  2.  
  3. class test{
  4. short const times = 2;
  5. };
  6.  
  7. int main()
  8. {
  9. std::vector<test> t;
  10. t.push_back(test{});
  11. t.erase(t.begin());
  12. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
In file included from /usr/include/c++/6/vector:60:0,
                 from prog.cpp:1:
/usr/include/c++/6/bits/stl_algobase.h: In instantiation of ‘static _OI std::__copy_move<true, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = test*; _OI = test*]’:
/usr/include/c++/6/bits/stl_algobase.h:386:44:   required from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = true; _II = test*; _OI = test*]’
/usr/include/c++/6/bits/stl_algobase.h:422:45:   required from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = true; _II = __gnu_cxx::__normal_iterator<test*, std::vector<test> >; _OI = __gnu_cxx::__normal_iterator<test*, std::vector<test> >]’
/usr/include/c++/6/bits/stl_algobase.h:487:39:   required from ‘_OI std::move(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<test*, std::vector<test> >; _OI = __gnu_cxx::__normal_iterator<test*, std::vector<test> >]’
/usr/include/c++/6/bits/vector.tcc:145:2:   required from ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = test; _Alloc = std::allocator<test>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<test*, std::vector<test> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = test*]’
/usr/include/c++/6/bits/stl_vector.h:1148:24:   required from ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(std::vector<_Tp, _Alloc>::const_iterator) [with _Tp = test; _Alloc = std::allocator<test>; std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<test*, std::vector<test> >; typename std::_Vector_base<_Tp, _Alloc>::pointer = test*; std::vector<_Tp, _Alloc>::const_iterator = __gnu_cxx::__normal_iterator<const test*, std::vector<test> >; typename __gnu_cxx::__alloc_traits<typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type>::const_pointer = const test*]’
prog.cpp:11:22:   required from here
/usr/include/c++/6/bits/stl_algobase.h:343:18: error: use of deleted function ‘test& test::operator=(test&&)’
        *__result = std::move(*__first);
        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
prog.cpp:3:7: note: ‘test& test::operator=(test&&)’ is implicitly deleted because the default definition would be ill-formed:
 class test{
       ^~~~
prog.cpp:3:7: error: non-static const member ‘const short int test::times’, can’t use default assignment operator
stdout
Standard output is empty