Es scheint ein Problem mit dem folgenden Code zu sein. Ich erhalte die Fehlermeldungunqualifizierte ID mit Eigen-Klasse
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);
}
Mit der Probe MatrixXf ich meine Vorlage nicht verwenden ...
I pose_l und M_inv1 umbenannt; in anderen Posts, wie Expected unqualified-id before numeric constant for defining a number half eine Neudefinition, aber nicht in meinem Fall.
Was fehlt mir?
Beste ManuKlause
Sehen Sie diese [Seite] (http://eigen.tuxfamily.org/dox/TopicTemplateKeyword. html), müssen Sie das Template Schlüsselwort vor dem Block hinzufügen: 'pose_l.template Block <3, 3> (0, 0)'. – ggael
Danke, das hat geholfen. Ich möchte deinen Beitrag als Lösung markieren, wie kann ich das machen (neu in diesem Forum ...) – ManuKlause