------- Additional Comments From pinskia at gcc dot gnu dot org 2005-05-14 17:06 ------- I don't think full specializations are not allowed in side classes but I don't have my copy of the standard in front of me.
Also note ICC also rejects this code: t.cc(28): error: class "container::iterator<container::pointer>" cannot be specialized in the current scope template<> struct iterator<pointer>: wrapper<value_type *> {}; ^ t.cc(31): error: argument list for class template "heap" is missing heap<int>::iterator<heap::pointer> p; ^ t.cc(31): error: incomplete type is not allowed heap<int>::iterator<heap::pointer> p; ^ compilation aborted for t.cc (code 2) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21543