命名空间中的EigenvalueType''Eigen'没有命名类型

时间:2013-07-05 23:21:14

标签: c++ eigen

我正在使用特征库来查找eigevalueseigenvectors。从this网页获得以下定义 - :

const EigenvalueType & eigenvalues () const;

因此我使用的声明如

const Eigen::EigenvalueType &value = solver.eigenvalues()

包含以下文件:

#include "Eigen/Core"
#include "unsupported/Eigen/MatrixFunctions"
#include "Eigen/Eigenvalues"

我还检查了包含typedef EigenValueType的{​​{3}},并将其包含在声明中:

#include "Eigen/src/Eigenvalues/EigenSolver.h"

但是我仍然在编译时遇到以下错误。

error: ‘EigenvalueType’ in namespace ‘Eigen’ does not name a type

我不明白为什么它无法识别typedef。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

EigenvalueType是在类EigenSolver内声明的typedef,你需要像

一样使用它
  Eigen::EigenSolver<Eigen::MatrixXd>::EigenvalueType &value = solver.eigenvalues()
//^^^^^^^^^^^