[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#249691: gcc-3.4: false compiler error (templated base, templated child, private member)



Jay Berkenbilt <ejb@ql.org> writes:

>>   This is an intended consequence of the new 3.4 C++ parser. From
>>   http://gcc.gnu.org/gcc-3.4/changes.html
>>
>>      "In a template definition, unqualified names will no longer find
>>       members of a dependent base"
>>
>>   You need to refer to "this->f" rather than the unqualified "f".
>
> Okay, thanks.  I'll take your word for it that this is correct.  Is
> there something in the spec that you could perhaps point me to that
> shows that this to be the correct behavior?

I think it's 14.6/8

  "When looking for the declaration of a name used in a template
   definition, the usual lookup rules (3.4.1, 3.4.2) are used for
   nondependent names"

-- 
Philip Martin



Reply to: