私はできません:
Vector2i vec(0, 1, 2);
cout << vec.norm() << endl;
それは言及するコンパイラエラーを与えるので:THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPESいくつかの失敗したアサーションで。
私はそれをできた:
Vector2i i_vec(0, 1, 2);
Vector2f f_vec;
f_vec = i_vec.cast<float>();
cout << f_vec.norm() << endl;
これは明らかに機能します。
norm質問:メソッドが に対して定義されていない理由はVectorXi?
たぶん Eigen は の要素型を使用してVectorの戻り値の型を決定します (この場合、 の戻り値の型に対して定義されないのnorm()は理にかなっています)?norm()int
ちょっと興味があるんだけど。