2017-08-10 25 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,它就能正常工作。是否有任何理由不应该为模板版本工作?

回答

相关问题