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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at redhat dot com

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-11 
11:56:23 UTC ---
(In reply to comment #2)
> Okey, the template keyword that I meant was
> 
> const int A< a>::B<b>::value = A<a>::template B<b>::C::value; 
>                                      ^^^^^^^^
> 
> I think this one is required. Older compilers require it, and on newer
> compilers it seems to be optional. IMO this is not optional because "C" 
> depends
> on the "b" template paramter.

Yes, but I disagree that it's required. I was wrong when I said it's not a
member template specialization, but I think 'template' is not required because
B<b> refers to a member of the current instantiation, as defined by 14.6.2.1

Jason, could you comment?  Was this a bug in older versions of G++ which is now
fixed?

Reply via email to