From: Beman Dawes (bdawes_at_[hidden])
Date: 2002-12-01 15:23:37
At 08:11 PM 11/28/2002, David Abrahams wrote:
>> AFAIK, Metrowerks is correct, and the other compilers intend to detect
>these errors in the future.
>> The fix is usually to add qualification. For example,
>The fix is usually to make sure that the appropriate declaration of a
>non-dependent name is visible before the name is used. Extra
>qualification doesn't usually help AFAICT.
>Oh, I guess that if the name is a member of a base class, then the fix
>is to write ``this->member_name'' or ``BaseClass::member_name''
>instead of just ``member_name''. That can be viewed as adding
Yes, that was the case that came up in other libraries.
> However, that doesn't _appear_ to be the problem in the
>case below, and in any case I recomment using ``this->'' when possible
>because it's more reliable.
Hum... I'll take your word for it, but to tell the truth I have trouble
understanding what either ``this->member_name'' or
`BaseClass::member_name'' adds. And the format library case wasn't a member
name at all, it was an enum name, IIRC.
I guess I need a C++ for dummies level description of why these names are
not visible, and why adding this-> or qualification makes the names
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk