1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| /usr/include/c++/4.9/bits/unique_ptr.h: In instantiation of 'void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = A]':
/usr/include/c++/4.9/bits/unique_ptr.h:236:16: required from 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = A; _Dp = std::default_delete<A>]'
/usr/include/c++/4.9/bits/stl_construct.h:93:7: required from 'void std::_Destroy(_Tp*) [with _Tp = std::unique_ptr<A, std::default_delete<A> >]'
/usr/include/c++/4.9/bits/stl_construct.h:103:46: required from 'static void std::_Destroy_aux<<anonymous> >::__destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = std::unique_ptr<A, std::default_delete<A> >*; bool <anonymous> = false]'
/usr/include/c++/4.9/bits/stl_construct.h:127:27: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = std::unique_ptr<A, std::default_delete<A> >*]'
/usr/include/c++/4.9/bits/stl_construct.h:151:31: required from 'void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = std::unique_ptr<A, std::default_delete<A> >*; _Tp = std::unique_ptr<A, std::default_delete<A> >]'
/usr/include/c++/4.9/bits/stl_vector.h:425:30: required from 'std::vector<_Tp, _Alloc>::~vector() [with _Tp = std::unique_ptr<A, std::default_delete<A> >; _Alloc = std::allocator<std::unique_ptr<A, std::default_delete<A> > >]'
main.cc:13:29: required from here
main.cc:5:11: error: 'virtual A::~A()' is private
virtual ~A() {};
^
In file included from /usr/include/c++/4.9/memory:81:0,
from main.cc:1:
/usr/include/c++/4.9/bits/unique_ptr.h:76:2: error: within this context
delete __ptr; |