Original Post
Hi, I run into the following problem: template<typename T> class Base { public: void foo(int i) {} }; template<typename T> class Derived : public Base<T> { public: }; Everything works fine until I overload foo(int) in Derived: template<typename T> class Derived : public Base<T> { public: void foo(double d) {} }; Now I can't call foo(int) with the Derived class. The compiler says "cannot convert parameter 1 from double to int." Any solution?