У меня есть базовый класс шаблона и унаследованный класс. Внутри базового класса есть функция, которая может принимать разные типы, я ожидал, что вызову ее из унаследованного класса с помощью 'BaseClass::Add();' но вместо этого я получаю сообщение об ошибке «ожидаемое первичное выражение перед токеном ‘>’».
Как вызвать BaseClass::Add с U?
template <typename T>
class BaseClass
{
public:
template <typename U>
void Add() {
// Do stuff
}
};
template <typename T>
class InheritedClass : public BaseClass<T>
{
public:
template <typename U>
void Add() {
BaseClass<T>::Add<U>(); // Error here
}
};
заранее спасибо
Используйте этот синтаксис
BaseClass<T>::template Add<U>()
Никогда бы не догадался! Спасибо