-3

我发现我可以像这样创建一个模板化的特征函数:

template <>
CIL_EXPORTS
    void gpa<std::complex<float>>(const Eigen::EigenBase<std::complex<float>>& Data);

在函数中,我还需要来自 DenseBase 的方法。我如何从两个基类中访问方法?

4

1 回答 1

1

表达式“Eigen::EigenBase < std::complex < float >>”没有意义。EigenBase 模板参数是派生类,而不是标量类型。它必须是一个矩阵、数组等。一般来说它应该是一个模板参数。请先阅读此

无论如何,一旦获得正确的 EigenBase 或 DenseBase,您就可以使用 arg.derived() 或将其转换为派生类型一次来访问派生类成员(而不是基类!): const Derived& mat(arg.derived( ));

于 2013-03-01T08:36:25.613 回答