x скрыт во время наследования. Вы можете показывать через:
x
template <typename T> class derived : public base<T> { public: using base<T>::x; // added "using" statement int f() { return x; } };