2017-08-10 9 views
0

Ich habe Probleme mit einer Funktion mit der Eigen C++ - Bibliothek. Es ist eine Vorlagenversion von einem ihrer Beispiele, aber ich kann nicht scheinen, dass es in xcode funktioniert.Ist es möglich, Eigenblock-Ausdrücke mit Vorlagen als lvalue zu verwenden?

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; 
    } 

Dieser Code wird aufgrund eines "Expected Expression" -Fehlers nicht kompiliert. Ich habe die Funktion eigentlich nirgendwo aufgerufen und es funktioniert gut, wenn ich es nicht vorschlage und stattdessen double oder float verwende. Gibt es einen Grund, warum es für die Vorlagenversion nicht funktionieren sollte?

Antwort

Verwandte Themen