template base class typedef members invisible
问题 I'm aware of the fact that the 'dependent names' are not visible to the compiler by default. But I was told in answers to other SO questions (here, here, and ultimately on the C++ faq) that a using declaration may help. So I tried. A template base class: // regardless of the fact that members are exposed... template<typename T> struct TBase { typedef T MemberType; MemberType baseMember; MemberType baseFunction() { return MemberType(); } }; And a derived class, using the base's members: