fork download
  1. #include <vector>
  2.  
  3. struct foo
  4. {
  5. foo() {}
  6. private:
  7. foo(const foo&);
  8. void operator=(const foo&);
  9. };
  10.  
  11. int main()
  12. {
  13. std::vector<foo> v;
  14. v.reserve(100);
  15. v.emplace();
  16. return v.size();
  17. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function 'int main()':
prog.cpp:15:15: error: no matching function for call to 'std::vector<foo>::emplace()'
In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/vector:63:0,
                 from prog.cpp:1:
prog.cpp: In function 'void std::_Construct(_T1*, _T2&&) [with _T1 = foo, _T2 = foo]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_uninitialized.h:74:3:   instantiated from 'static _ForwardIterator std::__uninitialized_copy<<anonymous> >::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<foo*>, _ForwardIterator = foo*, bool <anonymous> = false]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_uninitialized.h:116:46:   instantiated from '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<foo*>, _ForwardIterator = foo*]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_uninitialized.h:318:63:   instantiated from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<foo*>, _ForwardIterator = foo*, _Tp = foo]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_vector.h:970:8:   instantiated from 'std::vector<_Tp, _Alloc>::pointer std::vector<_Tp, _Alloc>::_M_allocate_and_copy(std::vector::size_type, _ForwardIterator, _ForwardIterator) [with _ForwardIterator = std::move_iterator<foo*>, _Tp = foo, _Alloc = std::allocator<foo>, std::vector<_Tp, _Alloc>::pointer = foo*, std::vector::size_type = unsigned int]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/vector.tcc:74:56:   instantiated from 'void std::vector<_Tp, _Alloc>::reserve(std::vector::size_type) [with _Tp = foo, _Alloc = std::allocator<foo>, std::vector::size_type = unsigned int]'
prog.cpp:14:18:   instantiated from here
prog.cpp:7:5: error: 'foo::foo(const foo&)' is private
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/stl_construct.h:80:7: error: within this context
stdout
Standard output is empty