
Gabriel Dos Reis wrote:
"Giovanni Bajo" <giovannibajo@libero.it> writes:
Gennaro Prota wrote:
Do you know why? Is he proposing some change in the CWG?
I guess it's just a consequence of the GCC bugreport, and Gaby raising the issue with the CWG.
Yes, that is the case. But the issues are slightly different. A long time ago, the committee decided, after debate, that member names hide enclosing template-parameters. The fact that names from base classes can hide template-parameters too comes as a -logical- consequence from that general rule and the principle that scopes nests.
This however runs contrary to the principle that I, as a user, should be able to explicitly disambiguate; since I can write a qualified name for a class member but not for a template parameter, it naturally follows that template parameters should hide class members and not vice versa.