如何要求泛型类型参数的函数实现

时间:2019-01-24 20:17:53

标签: visual-c++ visual-studio-2013 interface generic-type-argument

我的班级有一个通用类型,但是通用类型本身需要实现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()吗?

0 个答案:

没有答案
相关问题