本征loadMarket无法编译

时间:2019-11-08 18:45:31

标签: c++ visual-studio-2017 eigen

在Windows中,MSVS2017

#include <Eigen/Sparse>
#include <unsupported/Eigen/SparseExtra>

// other code

SparseMatrix<double> A; // with `MatrixXd A;` it displays the same error
VectorXd b;

loadMarket(A, "A.txt");
loadMarket(b, "b.txt");

不会编译并显示错误:

错误C2039'保留':不是'Eigen :: Matrix'扫描测试C:\ Users \ wurmd \ Work \ scanning2 \ build_deps \ eigen-src \ unsupported \ Eigen \ src \ SparseExtra \ MarketIO的成员。 h 170

注意:

SparseMatrix<double> A;
VectorXd b;
// some processing
saveMarket(A, "A.txt");
saveMarket(b, "b.txt");

以易于阅读的形式编译,运行并保存矩阵和向量。

有人知道解决方法吗? (当前正在等待https://eigen.tuxfamily.org/bz/处的帐户报告此错误)

1 个答案:

答案 0 :(得分:0)

您不应该对Vector使用saveMarketloadMarket。您应该使用saveMarketVectorloadMarketVector

SparseMatrix<double> A;
VectorXd b;
// some processing
saveMarket(A, "A.txt");
saveMarketVector(b, "b.txt");

...

SparseMatrix<double> Ain; 
VectorXd bin;

loadMarket(Ain, "A.txt");
loadMarketVector(bin, "b.txt");

完成工作

相关问题