在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/处的帐户报告此错误)
答案 0 :(得分:0)
您不应该对Vector使用saveMarket
或loadMarket
。您应该使用saveMarketVector
和loadMarketVector
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");
完成工作