在我的 main 方法中,以下代码在包含插入的行有错误。
hashTable<string, pair<string, string>> friendsHash = hashTable<string, pair<string, string>>(friendTotal);
if(critChoice == 1)
{
for(int counter = 0; counter < friendTotal; counter ++)
{
string name = friends[counter].getName();
string date = friends[counter].getBirthDate();
string homeTown = friends[counter].getHomeTown();
friendsHash.insert(pair<name, pair<date, homeTown>>);
}
}
hashMap的插入函数如下:
template<class K, class E>
void hashTable<K, E>::insert(const pair<const K, E>& thePair)
{
int b = search(thePair.first);
//check if matching element found
if(table[b] == NULL)
{
//no matching element and table not full
table[b] = new pair<const K, E> (thePair);
dSize ++;
}
else
{//check if duplicate or table full
if(table[b]->first == thePair.first)
{//duplicate, change table[b]->second
table[b]->second = thePair.second;
}
else //table is full
throw hashTableFull();
}
}
错误是插入函数调用中的 3 个参数中的每一个is not a valid template type argument for parameter