diff --git a/Eigen/src/Core/ProductBase.h b/Eigen/src/Core/ProductBase.h index a494b5f87..1d9f7e929 100644 --- a/Eigen/src/Core/ProductBase.h +++ b/Eigen/src/Core/ProductBase.h @@ -85,7 +85,10 @@ class ProductBase : public MatrixBase public: - typedef typename Base::PlainObject PlainObject; + typedef typename Base::PlainObject BasePlainObject; + typedef Matrix DynPlainObject; + typedef typename internal::conditional::type PlainObject; ProductBase(const Lhs& a_lhs, const Rhs& a_rhs) : m_lhs(a_lhs), m_rhs(a_rhs) @@ -182,6 +185,11 @@ struct nested, N, PlainObject> { typedef PlainObject const& type; }; +template +struct nested, N, PlainObject> +{ + typedef PlainObject const& type; +}; } template