我的班级有一个通用类型,但是通用类型本身需要实现hash()函数。我可以在班级声明中要求吗?
我可以轻松地确保将hash()函数放入传递给myClass的类中,但是如果它不存在,我希望得到一个编译错误。
template <typename _T>
class myClass
{
_T* list;
public:
myClass(){
this->list = (_T*)malloc(10,sizeof(_T));
for(int i = 0;i < 10; i++){
this->list[i]=_T(i);
}
}
unsigned int doTheThingIWant(){
return this->list[0].hash()
}
};
有人知道如何强制_T类型实现hash()吗?