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

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2010-10-11 
10:13:08 UTC ---
(In reply to comment #0)
> template<int a>
> template<int b>
> const int A< a>::B<b>::template value = A<a>::B<b>::C::value;
                         ^^^^^^^^
Are you sure the 'template' keyword belongs here?
GCC accepts it, but Comeau doesn't.
value is not a member template specialization, it is a member of a template.
The standard specifically says "the keyword template may not be applied to
non-template members of class templates"

As for the main point of your report, I don't think 'template' is required,
because B<b> is not a member template specialization

Reply via email to