Re: Please, help with this scope problem (simple?)

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

 



I'm pretty bad with this, but here's my guess: What if B had multiple templates, i.e., A, C, D, and E, which each had their own i? Compiler needs to know where to go. Someone else might have a better technical explanation (or maybe I'm wrong altogether!).

Blake


On May 9, 2006, at 6:27 AM, Leon Pollak wrote:

Hello, all.
I shall be very thankful for the help with the following compilation
problem. The code example is:

template <typename T>
class A {
protected:  int i;
};

template <typename T>
class B : public A<T> {
public:  B() {i = 0;}
};

My gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) produces:
error: 'i' was not declared in this scope. Writing:
public:  B() {A<T>::i = 0;}
solves the problem, but why do I need to specify this? Isn't it obvious?

Many thanks ahead.

Leon.

Blake Huff
stangmechanic@xxxxxxxxx

GIF image




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux