częściowa specjalizacja z nazwą zależną (nazwa typu)

Mam następujące prostestrinToTypeImpl funkcja, która przekształca dowolny rodzaj łańcucha w typ szablonu. Problemem, który mnie niepokoi, jest fakt, że kompilator mówi mi o częściowej specjalizacji dlatypename MyMatrix<T>::Vector3 :

parametr szablonu T nieużywany w częściowej specjalizacji

Czy w specjalizacji nie mogę używać nazw zależnych?

namespace details
{

    template<typename T>
    struct stringToTypeImpl{
        bool operator()(T& t, const std::string& s)
        {
          std::istringstream iss(s);
          return !(iss >> t).fail();
        }
    };


    template<typename T>
    struct stringToTypeImpl< typename MyMatrix<T>::Vector3  >{ 

        // Replacing typename MyMatrix<T>::Vector3  by 
        // Eigen::Matrix<T,3,1> WORKS but why?

        bool operator()(typename MyMatrix<PREC>::Vector3 & t, const std::string& s)
        {
          stringToVector3<PREC>(t,s);
        }
    };
}

questionAnswers(2)

yourAnswerToTheQuestion