Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 错误:限定名引用到变量模板的专用化中_C++11_Templates_Hashtable - Fatal编程技术网

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