2017-08-10 24 views
0

我遇到了使用Eigen C++庫的函數問題。這是他們的一個例子的模板版本,但我似乎無法讓它在xcode中工作。是否可以使用特徵塊表達式和模板化參數作爲左值?

template <typename Scalar> 
void foo(){ 
    Eigen::Matrix<Scalar, 2, 2> m = Eigen::Matrix<Scalar, 2, 2>::Identity(); 
    Eigen::Matrix<Scalar, 4, 4> a = Eigen::Matrix<Scalar, 4, 4>::Constant(0.6); 
    a.topLeftCorner<2,2>() = m; //Expected expression! 
    std::cout << "result:" << std::endl << a << std::endl << std::endl; 
    } 

由於「預期表達式」錯誤,此代碼無法編譯。我實際上並沒有在任何地方調用函數,並且如果我沒有對它進行模板化,而是使用double或float,它就能正常工作。是否有任何理由不應該爲模板版本工作?

回答

相關問題