我有以下课程,我想作为"接口"对于其他课程。我正在使用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
无法使用模板化参数声明成员函数?如果是这样,我如何实现类似的行为来接收任何类型的特征矩阵?
谢谢。