Eigen-Eigen::Map的编译错误<;常数本征值::SparseVector<;浮动>&燃气轮机;

Eigen-Eigen::Map的编译错误<;常数本征值::SparseVector<;浮动>&燃气轮机;,eigen,Eigen,我试图使用Eigen的映射功能映射到内存中的稀疏向量,但我似乎无法编译对此的声明,因为“InnerStradiatCompileTime”不是“Eigen::SparseVector”的成员 这是不受支持的吗 示例代码: #include <Eigen/Core> #include <Eigen/SparseCore> void Foo() { int innerIndices[10]; float value

我试图使用Eigen的映射功能映射到内存中的稀疏向量,但我似乎无法编译对此的声明,因为“InnerStradiatCompileTime”不是“Eigen::SparseVector”的成员

这是不受支持的吗

示例代码:

    #include <Eigen/Core>
    #include <Eigen/SparseCore>

    void Foo()
    {
       int innerIndices[10];
       float values[10];
       Eigen::Map<const Eigen::SparseVector<float>> eigenRigOffsets(100, 10, &innerIndices[0], &values[0]);

    }
#包括
#包括
void Foo()
{
内部索引[10];
浮动值[10];
Eigen::映射eigenrigoffset(100,10,&内部索引[0],&值[0]);
}

它似乎(还)不受支持。有对
Eigen::Map
(如中所示)的支持,尽管这不是您所要求的。ggael可能会有更好的答案(或实现)。

您需要显示更多的代码。你能添加一个吗?上面编辑过。仅声明稀疏向量映射的变量似乎无法编译。该代码是否真的再现了您的确切错误?我添加了缺少的位。这将重现错误。我用的是Eigen 3.3.5是的,有点混乱。例如,在SparseMap.h中有一个SparseMapBase构造函数,其注释“/”表示向量”,但没有像SparseMatrix那样专门化映射。