diff options
Diffstat (limited to 'Eigen/src/Core/ArrayBase.h')
-rw-r--r-- | Eigen/src/Core/ArrayBase.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/Core/ArrayBase.h b/Eigen/src/Core/ArrayBase.h index c53ea0a4f..36bf71dde 100644 --- a/Eigen/src/Core/ArrayBase.h +++ b/Eigen/src/Core/ArrayBase.h @@ -169,9 +169,11 @@ template<typename Derived> class ArrayBase template<typename OtherDerived> explicit ArrayBase(const ArrayBase<OtherDerived>&); protected: // mixing arrays and matrices is not legal - template<typename OtherDerived> Derived& operator+=(const MatrixBase<OtherDerived>& mat); + template<typename OtherDerived> Derived& operator+=(const MatrixBase<OtherDerived>& mat) + {EIGEN_STATIC_ASSERT(sizeof(typename OtherDerived::Scalar)==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);} // mixing arrays and matrices is not legal - template<typename OtherDerived> Derived& operator-=(const MatrixBase<OtherDerived>& mat); + template<typename OtherDerived> Derived& operator-=(const MatrixBase<OtherDerived>& mat) + {EIGEN_STATIC_ASSERT(sizeof(typename OtherDerived::Scalar)==-1,YOU_CANNOT_MIX_ARRAYS_AND_MATRICES);} }; /** replaces \c *this by \c *this - \a other. |