Шаблоны и определение методов вне класса
Без предисловий и воды. Вот код и он не работает.
template<class T>
class Foo{
private:
template <typename Y>
T bar(Y a) const;
};
template<class T, typename Y>
T Foo<T>::bar<Y>(Y a) const // <-- Ошибка тут
{
return a;
}
Что такое и как исправить?
Ответы (1 шт):
Автор решения: NunOfIt
→ Ссылка
Так:
template<class T>
class Foo{
private:
template <typename Y>
T bar(Y a) const;
};
template<class T>
template<typename Y>
T Foo<T>::bar(Y a) const {
return a;
}