http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56889
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> 2013-04-11 12:42:52 UTC --- You keep quoting Stroustrup but your code is still broken. Your clone() function copies the object. The object is not copyable. What is so difficult to understand? Add a copy constructor to vector_stack or change the clone function. This is not a GCC bug!