Краткий пример:
MatrixXf MV;
void load_data(string filename){
string line;
vector<float> V;
ifstream infile(filename);
if (infile.is_open()){
while (getline(infile,line) ){
V.push_back(stof(line));
}
infile.close();
}
MV = Map<Matrix<float, V.size()/3 , 3, RowMajor> >(&V[0]);
}
Ошибка возникает при "V.size () / 3", это должно быть постоянное выражение.
Пробовал также следующее выражение:
constexpr int vsize = V.size()/3;
MV = Map<Matrix<float, vsize, 3, RowMajor> >(&V[0]);
Та же ошибка, что и выше.
Вопрос 1. Как передать переменную в аргумент шаблона?
Вопрос 2. Любой более простой способ загрузки данных напрямую в Eigen :: Matrix (без временного массива или вектора)?