基类中的虚拟模板成员

时间:2016-04-03 14:51:45

标签: c++ templates inheritance

我有以下课程,我想作为"接口"对于其他课程。我正在使用Eigen库。

class MultivariateDistribution
{
public:
    MultivariateDistribution() = default;
    template <typename T>
    MultivariateDistribution(const Matrix<T, Dynamic, Dynamic> &dataset) { maximumLikelihoodParameterEstimation(dataset); }
    virtual ~MultivariateDistribution() = default;

    template <typename T>
    virtual void maximumLikelihoodParameterEstimation(const Matrix<T, Dynamic, Dynamic> &dataset) = 0;
};

我从这个类中删除了一个类并实现了所有必需的方法,但编译器产生了以下错误:

 error C2898: 'void MultivariateDistribution::maximumLikelihoodParameterEstimation(const Eigen::Matrix<T,-1,-1,0,-1,-1> &)': member function templates
cannot be virtual

无法使用模板化参数声明成员函数?如果是这样,我如何实现类似的行为来接收任何类型的特征矩阵?

谢谢。

0 个答案:

没有答案