> 
> Dear gcc-bugs-mailinglist,
> 
> I'm having a problem with inheriting from a partial specialization of
> a class, and in particular using a public templatized instance
> variable of the partial specialization. I've genericized the code with
> somebody else to the following reduction which shows the essence of
> the problem.
> 
> 
> template <typename I, typename O>
> class B {
>   public:
>     char x;
> };
> 
> template <typename O>
> class B<O, void> {
>   public:
>     char x;
> };
> 
> template <typename O>
> class C : public B<O, void> {
>   public:
>       void function() {
>         printf("%c", x);

You need either B::x or this->x to make the access of x as dependent.

Please also read http://gcc.gnu.org/gcc-3.4/changes.html which talks about this 
and many
other changes that might affect your code.

And maybe http://gcc.gnu.org/gcc-4.0/changes.html
and http://gcc.gnu.org/gcc-4.1/changes.html


Thanks,
Andrew Pinski

Reply via email to