我正在用 C++ 创建一个模板类,并在std::list
其中使用。出于某种原因,我的编译器不喜欢我尝试为列表声明和构造迭代器的方式。
在我的 HashTable.h 文件中,我有:
template <typename T> class HashTable {
bool find(T thing) {
// some code
list<T>::iterator iter;
for (iter = table[index].begin(); iter != table[index].end(); ++iter) {
// some more code
}
}
}
它给了我HashTable.h:77: error: expected ';' before "iter"
一个错误信息。
迭代器的正确语法是什么?
或者是对的,我需要为我打算在我的 HashTable 模板中使用的每个类创建一个迭代器类?如果是这样,那就糟透了……