Передача переменной в аргумент шаблона, например, размер (строки, столбцы) в Eigen :: Map - PullRequest
0 голосов
/ 07 августа 2020

Краткий пример:

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 (без временного массива или вектора)?

...