Boost logo

Boost :

From: Gabriel Dos Reis (gdr_at_[hidden])
Date: 2004-02-16 10:39:23

"Peter Dimov" <pdimov_at_[hidden]> writes:

| Gabriel Dos Reis wrote:
| > "Giovanni Bajo" <giovannibajo_at_[hidden]> 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.

That does not follow. Your raisoning is based on the assumption that
there is an ambiguity, but there is none.

>From my perspective, I think the construct should have been made
invalid when the choice was made. The reason is that you have two
conflicting reasonable principles here.

-- Gaby

Boost list run by bdawes at, gregod at, cpdaniel at, john at