------- Comment #9 from anthony dot ajw at gmail dot com  2005-10-04 21:43 
-------
The name following "t." must be the name of a member of either T, or one of its
base classes.

t.template f<int> can only refer to a global template f if it is then followed
by a nested name specifier (e.g. t.template f<int>::X) so that it is a
qualified name for member of T.

This is just the same as t.f always refers to a member, even if there is a
non-member f in scope, unless one writes t.f::X (for some X).

t.template f<int>() can thus only refer to a member template, and the global
template should not be considered.


-- 

anthony dot ajw at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anthony dot ajw at gmail dot
                   |                            |com


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

Reply via email to