4
我在使用特徵庫時出現錯誤,我試圖做的就是從Eigen :: VectorXf中減去一個標量。所以,我的代碼是什麼如下:編譯錯誤eigen:從矢量中減去標量
#define VECTOR_TYPE Eigen::VectorXf
#define MATRIX_TYPE Eigen::MatrixXf
// myMat is of MATRIX_TYPE
JacobiSVD<MATRIX_TYPE> jacobi_svd(myMat,ComputeThinU | ComputeThinV);
const float offset = 3.0f;
VECTOR_TYPE singular_values = jacobi_svd.singularValues();
VECTOR_TYPE test = singular_values - offset;
最後一行結果:
error: invalid operands to binary expression ('Eigen::VectorXf' (aka
'Matrix<float, Dynamic, 1>') and 'float')
VECTOR_TYPE test = singular_values - scale;
Eigen/src/Core/../plugins/CommonCwiseBinaryOps.h:19:28: note:
candidate template ignored: could not match
'MatrixBase<type-parameter-0-0>' against 'float'
EIGEN_MAKE_CWISE_BINARY_OP(operator-,internal::scalar_difference_op)
是啊,該訣竅。謝謝! – Luca
@Luca:不客氣! – davidhigh