2017-02-09 6 views
0

Im пытается инициализировать матрицу 6x4, используя Eigen-библиотеку следующим образом;Инициализирующая матрица в собственном

MatrixXf DH(6,4); 

в моем определении класса. Но это приводит к ошибке
Expected parameter declarator

Согласно Эйгену tutorial, что я делаю правильно. Есть предположения?

Благодаря

ответ

2

Я предполагаю, что у вас есть это:

class Test { 
    MatrixXf DH(6, 4); 
public: 
    Test() { 
    } 
}; 

(6, 4) означает, что вы вызываете конструктор. Но вы не можете вызывать нестатические функции в объявлении параметра. Вот список параметров для:

class Test { 
    MatrixXf DH; 
public: 
    Test() : DH(6, 4) { 
    } 
}; 
+0

Спасибо, это работает. – Vino

1

Скорее всего, декларацию путают для функции.

Попробуйте инициализировать матрицу внутри списка инициализации конструктора класса, поскольку инициализация внутри конструктора невозможна, если только это не указатель, и вы выделяете память для внутренней внутренней части.

public: 
    YourClass() : DH(6, 4) 
    { 

    } 
+0

Спасибо, он работает. – Vino