Quick: in order to make x a dependent name, so that lookup is deferred until the template parameter is known
Recently on SO:
Why do I have to access template base class members through the this pointer?
If the classes below were not templates I could simply have x in the derived class. However, with the code below, I have to use this->x. Why?
template <typename T> class base { protected: int x; }; template <typename T> class derived : public base<T> { public: int f() { return this->x; } }; int main() { derived<int> d; d.f(); return 0; }
Add a Comment
Comments are closed.