http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56889
--- Comment #5 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2013-04-09 19:13:55 UTC --- This issue is not the right place for discussing programming idioms, but as a last comment to the code: Your reference to PL alone does not solve your programing error: You need to define a copy constructor in vector_stack, because the compiler-defined one is also deleted (because of the deleted one in the base class), or define the clone function without a copy constructor.