>>886
いや、型名の方には付ける必要あるよ

×:
template <typename T> TShelf::~TShelf() { delete [] (this->t_s); }

〇:
template <typename T> TShelf<T>::~TShelf() { delete [] (this->t_s); }

△: 知らんかった
template <typename T> TShelf<T>::~TShelf<T>() { delete [] (this->t_s); }