Вы должны поместить определение класса и функций вашего шаблона в заголовочный файл (должно быть видно, кто их использует).
Только полная специализация может быть объявлена (и определена там, где ваш код имеетнет видимости).
Кроме того, если вы хотите определить функцию шаблона класса вне класса (как вы это сделали), вы должны объявить ее как шаблон:
template< typename T >
void Class<T>::method( )
{
}
Во всяком случае, если я правильно помню, вы цитируете ошибку, когда вы используете функцию method
, которая предоставляется типом имени, от которого вы унаследовали (я думаю, вы не опубликовали фрагмент кода, который генерирует ошибку...): его можно найти только в том случае, если шаблон действительно создан, поэтому вам нужно явно сказать, что он зависит от параметра шаблона.
Вызовите method
следующим образом:
T::method();