我正在尝试使用std :: iterator遍历声明的向量 “ typedef向量>表;”。 我收到了错误消息:“ HashNode :: iterator”之前需要“ typename”,因为“ HashNode”是一个依赖范围。
template <class KeyType, class ValueType>
void HashTable<KeyType, ValueType>::erase(KeyType key)
{
try
{
uint hashValue = hash_function(key);
HashNode<KeyType, ValueType>::iterator it;
for (it = (*table).at(hashValue).begin(); it != (*table).at(hashValue).end(); ++it)
{
if((*it).getKey() == key)
{
it = (*table).at(hashValue).erase(it);
num--;
return;
}
}