This is due to template inheritance. In this case, you should mannualy specify the usage for the base methods:
template <typename T> MyDerived<T>::doSomething() { using MyBase<T>::addStuff; T* thingy = new T(); addStuff(thingy); }
or do it with this pointer:
template <typename T> MyDerived<T>::doSomething() { T* thingy = new T(); this->addStuff(thingy); }
inkooboo
source share