, похоже, проблема со следующим кодом. Я получаю сообщение об ошибкенеквалифицированный идентификатор с классом Eigen
error: expected unqualified-id before numeric constant
Eigen::Matrix M_inv1_abc = pose_l.block<3, 3>(0, 0).inverse(); This is a code sample:
template<typename T>
Eigen::Matrix<T, 4, 1> Function(Eigen::Matrix<T, 3, 4> pose_l)
{
// fails here
Eigen::Matrix<T, 3, 3> M_inv1 = pose_l.block<3, 3>(0, 0).inverse();
// this works, sample is from https://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html
Eigen::MatrixXf m(4,4);
Eigen::MatrixXf y(2,2);
m << 1, 2, 3, 4,
5, 6, 7, 8,
9,10,11,12,
13,14,15,16;
y = m.block<2,2>(1,1);
}
с образцом MatrixXf я не использую мой шаблон ...
я переименовал pose_l и M_inv1; в других сообщениях, например Expected unqualified-id before numeric constant for defining a number помогло переопределение, но не в моем случае.
Что мне не хватает?
Лучшие ManuKlause
Смотрите эту страницу [] (http://eigen.tuxfamily.org/dox/TopicTemplateKeyword. html), вам нужно добавить ключевое слово шаблона перед блоком: 'pose_l.template block <3, 3> (0, 0)'. – ggael
Спасибо, это помогло. Я хотел бы отметить ваше сообщение как решение, как я могу это сделать (новый в этом форуме ...) – ManuKlause