diff options
author | 2009-01-29 09:45:25 +0000 | |
---|---|---|
committer | 2009-01-29 09:45:25 +0000 | |
commit | cf0857c44d4efcf8c7429f2d59dad2ba491cc886 (patch) | |
tree | 383e6f5754a902f4892279c0e0a89cec2f060638 /Eigen/src/Core/DiagonalMatrix.h | |
parent | 1752a3a6772dcb586646254233d62d5e86cf047d (diff) |
fix MSVC stupid warnings
Diffstat (limited to 'Eigen/src/Core/DiagonalMatrix.h')
-rw-r--r-- | Eigen/src/Core/DiagonalMatrix.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Eigen/src/Core/DiagonalMatrix.h b/Eigen/src/Core/DiagonalMatrix.h index b877cbee6..1e1a21c81 100644 --- a/Eigen/src/Core/DiagonalMatrix.h +++ b/Eigen/src/Core/DiagonalMatrix.h @@ -39,11 +39,9 @@ class DiagonalMatrixBase : ei_no_assignment_operator, protected: typedef typename ei_cleantype<CoeffsVectorType>::type _CoeffsVectorType; - - template<typename OtherDerived, - bool IsVector = OtherDerived::IsVectorAtCompileTime, - bool IsDiagonal = (OtherDerived::Flags&Diagonal)==Diagonal> - struct construct_from_expression; + + // MSVC gets crazy if we define default parameters + template<typename OtherDerived, bool IsVector, bool IsDiagonal> struct construct_from_expression; // = vector template<typename OtherDerived> @@ -69,7 +67,8 @@ class DiagonalMatrixBase : ei_no_assignment_operator, template<typename OtherDerived> inline DiagonalMatrixBase(const MatrixBase<OtherDerived>& other) { - construct_from_expression<OtherDerived>::run(derived(),other.derived()); + construct_from_expression<OtherDerived,OtherDerived::IsVectorAtCompileTime,(OtherDerived::Flags&Diagonal)==Diagonal> + ::run(derived(),other.derived()); } public: @@ -93,7 +92,8 @@ class DiagonalMatrixBase : ei_no_assignment_operator, template<typename OtherDerived> inline Derived& operator=(const MatrixBase<OtherDerived>& other) { - construct_from_expression<OtherDerived>::run(derived(),other); + construct_from_expression<OtherDerived,OtherDerived::IsVectorAtCompileTime,(OtherDerived::Flags&Diagonal)==Diagonal> + ::run(derived(),other); return derived(); } |