Consider the following function declaration:
template<typename T> f(const T& x);
If I call f with a type without relation to MyClass , the first version is called. If I call f with type MyClass (regardless of the type of template parameters), then the second version is called. But now consider:
template<typename T1, typename T2, typename T3> MyDerivedClass : public MyClass<T1, T2> {};
What version of function is called for type MyDerivedClass ?
source share