C++11 错误:限定名引用到变量模板的专用化中
我目前正在尝试制作一个哈希表模板函数,然后在上面修改一个密码服务器类。我在尝试将密码服务器类调整为哈希表模板时遇到了一个问题。当我尝试从模板调用函数时:C++11 错误:限定名引用到变量模板的专用化中,c++11,templates,hashtable,C++11,Templates,Hashtable,我目前正在尝试制作一个哈希表模板函数,然后在上面修改一个密码服务器类。我在尝试将密码服务器类调整为哈希表模板时遇到了一个问题。当我尝试从模板调用函数时: PassServer::PassServer(size_t size) : passwords(size) { HashTable<std::string, std::string>::HashTable(size); } PassServer::PassServer(大小):密码(大小) { 哈希表::哈希表(大小);
PassServer::PassServer(size_t size) : passwords(size)
{
HashTable<std::string, std::string>::HashTable(size);
}
PassServer::PassServer(大小):密码(大小)
{
哈希表::哈希表(大小);
}
它不断给我一个错误“限定名引用变量模板“HashTable”的特殊化”,我不知道如何解决这个问题。我为构造函数添加了一个专门化,但它似乎没有改变任何东西。这是我正在尝试适应的构造器:
template <typename K, typename V>
HashTable<K, V>::HashTable(size_t size = 101)
{
theHash.resize(prime_below(size));
currentSize = 0;
}
模板
哈希表::哈希表(大小=101)
{
resize(prime_低于(size));
currentSize=0;
}
使用专业的构造函数:
template<>
HashTable<std::string, std::string>::HashTable(size_t size = 101)
{
theHash.resize(prime_below(size));
currentSize = 0;
}
模板
哈希表::哈希表(大小=101)
{
resize(prime_低于(size));
currentSize=0;
}
但是如果您想定义一个变量,它仍然会给出相同的错误,即
哈希表hash_table(size)
如果您想创建一个未命名的临时文件,那将是哈希表(size)代码>。更一般地说,不清楚你想要实现什么。您计划如何在PassServer
中准确地使用HashTable
?如果您想定义一个变量,那就是HashTable hash\u table(size)
如果您想创建一个未命名的临时文件,那将是哈希表(size)代码>。更一般地说,不清楚你想要实现什么。您计划如何准确地在PassServer
中使用HashTable
?