http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52942

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-04-12 
08:46:04 UTC ---
The solution would be to follow the same pattern as the other containers:

template<typename A, typename B>
struct Cont
{
    struct Impl : B
   { 
       A* data;
   };
   Impl impl;
};

instead the hash tables are more like:

template<typename A, typename B>
struct Impl : A, B
{ };

template<typename A, typename B>
struct Cont : Impl<A, B>
{ };

which means Cont inherits all the members of A and B (including typedefs and
potentially virtual functions)

Reply via email to