我知道我可以在这样的文件中写一个特征矩阵:
std::ofstream file("test.txt");
if (file.is_open())
{
Eigen::Matrix<double, 5, 1, Eigen::DontAlign> m;
m << 1, 2, 3, 4, 5;
file << m;
}
最简单的方法是什么?这似乎不起作用:
std::ifstream file("test.txt");
if (file.is_open())
{
Eigen::Matrix<double, 5, 1, Eigen::DontAlign> m;
file >> m;
}
我收到以下编译错误:
error: cannot bind 'std::basic_istream<char>' lvalue to 'std::basic_istream<char>&&'
file >> m;
答案 0 :(得分:-1)
逐个初始化每个元素:
#include <fstream>
Eigen::Matrix<double, 5, 1, Eigen::DontAlign> m;
std::ifstream file("test.txt");
if (file.is_open()) {
file >> m(0) >> m(1) >> m(2) >> m(3) >> m(4);
}
为更大的矩阵使用循环。