diff options
-rw-r--r-- | Eigen/src/Core/DenseBase.h | 7 | ||||
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index c5da1c6b0..b335754c0 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -290,14 +290,15 @@ template<typename Derived> class DenseBase template<int Size> struct FixedSegmentReturnType { typedef VectorBlock<Derived, Size> Type; }; template<int Size> struct ConstFixedSegmentReturnType { typedef const VectorBlock<const Derived, Size> Type; }; + // Note: The "DenseBase::" prefixes are added to help MSVC9 to match these declarations with the later implementations. SegmentReturnType segment(Index start, Index size); - ConstSegmentReturnType segment(Index start, Index size) const; + typename DenseBase::ConstSegmentReturnType segment(Index start, Index size) const; SegmentReturnType head(Index size); - ConstSegmentReturnType head(Index size) const; + typename DenseBase::ConstSegmentReturnType head(Index size) const; SegmentReturnType tail(Index size); - ConstSegmentReturnType tail(Index size) const; + typename DenseBase::ConstSegmentReturnType tail(Index size) const; template<int Size> typename FixedSegmentReturnType<Size>::Type head(); template<int Size> typename ConstFixedSegmentReturnType<Size>::Type head() const; diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 6fb10de9d..cf8e6841e 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -224,8 +224,9 @@ template<typename Derived> class MatrixBase template<int Index> typename DiagonalIndexReturnType<Index>::Type diagonal(); template<int Index> typename ConstDiagonalIndexReturnType<Index>::Type diagonal() const; - typename DiagonalIndexReturnType<Dynamic>::Type diagonal(Index index); - typename ConstDiagonalIndexReturnType<Dynamic>::Type diagonal(Index index) const; + // Note: The "MatrixBase::" prefixes are added to help MSVC9 to match these declarations with the later implementations. + typename MatrixBase::template DiagonalIndexReturnType<Dynamic>::Type diagonal(Index index); + typename MatrixBase::template ConstDiagonalIndexReturnType<Dynamic>::Type diagonal(Index index) const; template<unsigned int Mode> TriangularView<Derived, Mode> part(); template<unsigned int Mode> const TriangularView<Derived, Mode> part() const; |