我正在尝试实现哈希表类,但是当我尝试访问Hash_Table类中的STL列表成员函数和迭代器时,visual studio说没有可用的成员。这是我的代码:
#include <iostream>
#include <vector>
#include <string>
#include <list>
#define INIT_SIZE 11
using namespace std;
template<typename KEY_TYPE, typename VALUE_TYPE>
class Hash_Table
{
public:
typedef pair<const KEY_TYPE, VALUE_TYPE> Entry_Type;
// Constructor
Hash_Table(const int size = INIT_SIZE)
{
myTable.resize(size);
}
// HashCode() function for calculating hash code of a specified key;
int HashCode(const KEY_TYPE& key)
{
int index = hash<KEY_TYPE>(key) % myTable.size();
return index;
}
void Insert (const Entry_Type& value)
{
}
// Index operator
Entry_Type& operator [] (const KEY_TYPE& key)
{
typename list<Entry_Type>:: ;//no members available
myTable[0]. ; //no members available
}
void Rehash ();
private:
// the table
vector<list<Entry_Type>> myTable;
};
谁能告诉我为什么会这样?非常感谢你!