我们可以创建一个特征矩阵向量吗?

Can we create a vector of Eigen Matrix?

是否可以创建特征矩阵向量?

比如我运行下面一行,

vector<Matrix<double,4,1>> vector_of_matrix;

但我收到以下错误,

error: template argument 3 is invalid
error: template argument 4 is invalid
error: template argument 6 is invalid
error: template argument 1 is invalid

有人愿意告诉我如何正确初始化特征矩阵向量吗?请注意,我考虑过使用 Eigen 动态大小矩阵作为替代方案,但我不想要这个。

根据documentation,你必须

#include <Eigen/StdVector>

并使用

std::vector<Matrix<double,4,1>, Eigen::aligned_allocator<Matrix<double,4,1> > >

在指定模板结构时始终使用 space。否则 c++ 将无法解析它。

vector<Matrix<double,4,1> > vector_of_matrix;

有必要#include要求headers<Eigen/Core>和(C++标准)<vector>.

根据编译器的年龄,大于号和小于号之间必须有空格(例如 > > 而不是 >> 以避免编译器混淆)。旧标准要求这样做。