2016-11-07 55 views
1

我正在使用Eigen以獲得矩陣的指數和對數。我不明白爲什麼下面的代碼給我一個編譯錯誤。該代碼是:Eigen log和exp函數類型鑄造錯誤

Eigen::Matrix4d speedT = Eigen::Matrix4d::Identity(); 
//some other operations with speedT 
Eigen::Matrix4d v = speedT.log(); 

的錯誤是: 錯誤17錯誤C2440: '類型轉換':不能從 '常量徵:: MatrixExponentialReturnValue' 轉換成 '徵:: Matrix4d'

錯誤16錯誤C2027:使用未定義類型'Eigen :: MatrixExponentialReturnValue'

對於指數函數(exp),會出現相同的問題。我已經嘗試過不同的變體,它也使得類型轉換(Eigen :: Matrix4d)speedT.log();但是結果是一樣的...... 徵的版本是3.2.8本徵

回答

2

我想,如果你忘記

#include <unsupported/Eigen/MatrixFunctions> 
+0

非常感謝您的回答這個錯誤顯示出來!同時我還發現,我將不得不包含兩個標頭#include 和 #include <不支持/ Eigen/MatrixFunctions>。即使如此非常感謝你! –