小编Lam*_*rou的帖子

如何在具有许多参数类型的模板类中专门使用一个方法

我正在HashTable用C++ 实现一个模板类,它的原型是这样的:

template<class K, class T, unsigned int containerSize=CONTAINER_SIZE>
class LPHashTableChained{
    ........

    unsigned int hashFunction(K& key);

}
Run Code Online (Sandbox Code Playgroud)

我的问题是,hashFunction()K等于字符串类型时,我如何专门化我的方法以表现不同.

我尝试用正确的格式实现函数,并使用第二个实现,我省略了class K参数并将字符串作为类型如下所示:

第一次实施:

template<class K, class T, unsigned int containerSize>
unsigned int LPHashTableChained<K,T,containerSize>::hashFunction(K& key){

}
Run Code Online (Sandbox Code Playgroud)

第二次实施:

template<class T, unsigned int containerSize>
unsigned int LPHashTableChained<string,T,containerSize>::hashFunction(const string& key){

}
Run Code Online (Sandbox Code Playgroud)

但我得到编译错误!

什么是specilize最简单的方法hashFunction,当K= string???

谢谢

c++ templates class

1
推荐指数
1
解决办法
779
查看次数

标签 统计

c++ ×1

class ×1

templates ×1