下面是我的模板矩阵,我想通过从用户获取值来构建.但是当我编译它时.我收到了以下错误.为什么错误?
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)
问题是这std::vector<T>::iterator是一种"依赖类型" - 整个类型取决于T.使用此前缀typename来解决问题,以便读取该行
typename std::vector<T>::iterator it= stringArray.begin();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |