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 テンプレートで使用する予定のクラスごとに反復子クラスを作成する必要がありますか? だったらヤバイだろうな…