Я использую библиотеку Eigen здесь: http://eigen.tuxfamily.org/index.php?title=Main_Page
При попытке скомпилировать это возвращает
error: expected constructor, destructor, or type conversion before '.'
жалуюсь на строки, где я добавляю ось x...zaxis в матрицу. возможно ли это потому, что gcc4.3 (который является компилятором, который я использую) не любит этот тип инициализации, потому что точка обычно является вызовом функции (который не будет работать с неинициализированным объектом)?
но мне кажется, что он точно следует примеру учебника здесь: http://eigen.tuxfamily.org/dox/TutorialAdvancedInitialization.html , кроме статики, но без неё ошибка такая же. Я попытался использовать инициализацию через запятую, но снова это то же самое.
// axis system
static Eigen::Matrix<double, 3, 1> s_xAxis(1.,0.,0.); //!< global x Axis;
static Eigen::Matrix<double, 3, 1> s_yAxis(0.,1.,0.); //!< global y Axis;
static Eigen::Matrix<double, 3, 1> s_zAxis(0.,0.,1.); //!< global z Axis;
// origin
static Eigen::Matrix<double, 3, 1> s_origin(0.,0.,0.); //!< origin position
static Eigen::Matrix<double, 3,3> s_idRotationZinverse;
s_idRotationZinverse.col(0) << s_yAxis;
s_idRotationZinverse.col(1) << s_xAxis;
s_idRotationZinverse.col(2) << -s_zAxis;
1.
допустим синтаксис (в отличие от1.0
)? Жалоба на компилятор возникает именно там, где вы могли бы, но0
. - person Matt Phillips   schedule 23.04.2013static Eigen::Matrix<double, 3, 1> s_xAxis; s_xAxis << 1., 0., 0.;
использовать<<
для инициализации переменной. - person Jonathan Leffler   schedule 23.04.2013