我发现我可以创建这样的模板化特征函数:
template <>
CIL_EXPORTS
void gpa<std::complex<float>>(const Eigen::EigenBase<std::complex<float>>& Data);
在函数中我还需要来自DenseBase的方法。如何从两个基类访问方法?
答案 0 :(得分:1)
表达“Eigen :: EigenBase&lt; std :: complex&lt; float&gt;&gt;”没有意义。 EigenBase模板参数是派生类,而不是标量类型。它必须是Matrix,Array等。通常它应该是模板参数。请先阅读page。
无论如何,一旦获得了正确的EigenBase或DenseBase,就可以使用arg.derived()或者将其转换为派生类型一次访问派生类成员(不是基类!):const Derived&amp;垫(arg.derived());