When calling a non-templated member function in a base class, you can import your name with using into a derived class, and then use it. Is this also possible for template member functions in the base class?
It just doesn't work with using (with g ++ - snapshot-20110219 -std = C ++ 0x):
template <typename T> struct A { template <typename T2> void f() { } }; template <typename T> struct B : A<T> { using A<T>::f; template <typename T2> void g() {
I know that the base class prefix is โโexplicit, as in
A<T>::template f<T2>();
works fine, but the question arises: is this possible without using a simple declaration (as is the case when f not a template function)?
If this is not possible, does anyone know why?
source share