C++,模板参数错误

vrb*_*lgi 3 c++ templates

下面是我的模板矩阵,我想通过从用户获取值来构建.但是当我编译它时.我收到了以下错误.为什么错误?

SO_template.cpp:在成员函数中void Matrix<T>::BuildMatrix(std::vector<T, std::allocator<_CharT> >)': SO_template.cpp:44: error: expected;' 在"它"之前

如果我使用int专门研究我的类,它不会抱怨为什么?

 template<class T>
  class Matrix
  {
    private:
          vector<T> col;
          int iNumberOfRow;
          int iNumberOfCol;
    public:
     void BuildMatrix(const std::vector<T> stringArray)
     {

         std::vector<T>::iterator it= stringArray.begin();
         cout<<"Build Matrix irow="<<stringArray.size();
         ...
         ...
     }
};
Run Code Online (Sandbox Code Playgroud)

Fre*_*abe 6

问题是这std::vector<T>::iterator是一种"依赖类型" - 整个类型取决于T.使用此前缀typename来解决问题,以便读取该行

typename std::vector<T>::iterator it= stringArray.begin();
Run Code Online (Sandbox Code Playgroud)