diff --git a/Eigen/src/Core/AnyMatrixBase.h b/Eigen/src/Core/AnyMatrixBase.h index e56b56deb..a5d1cfe9f 100644 --- a/Eigen/src/Core/AnyMatrixBase.h +++ b/Eigen/src/Core/AnyMatrixBase.h @@ -61,7 +61,8 @@ template struct AnyMatrixBase { // This is the default implementation, // derived class can reimplement it in a more optimized way. - typename Dest::PlainMatrixType res(*this); + typename Dest::PlainMatrixType res(rows(),cols()); + evalTo(res); dst += res; } @@ -70,7 +71,8 @@ template struct AnyMatrixBase { // This is the default implementation, // derived class can reimplement it in a more optimized way. - typename Dest::PlainMatrixType res(*this); + typename Dest::PlainMatrixType res(rows(),cols()); + evalTo(res); dst -= res; } @@ -98,9 +100,9 @@ template struct AnyMatrixBase /** \brief Copies the generic expression \a other into *this. * - * \details The expression must provide a (templated) evalTo(Derived& dst) const - * function which does the actual job. In practice, this allows any user to write - * its own special matrix without having to modify MatrixBase + * \details The expression must provide a (templated) evalTo(Derived& dst) const + * function which does the actual job. In practice, this allows any user to write + * its own special matrix without having to modify MatrixBase * * \returns a reference to *this. */