diff --git a/Eigen/src/Array/Select.h b/Eigen/src/Array/Select.h index 65feb42b2..9e0814b84 100644 --- a/Eigen/src/Array/Select.h +++ b/Eigen/src/Array/Select.h @@ -45,15 +45,18 @@ template > { typedef typename ei_traits::Scalar Scalar; + typedef typename ConditionMatrixType::Nested ConditionMatrixNested; + typedef typename ThenMatrixType::Nested ThenMatrixNested; + typedef typename ElseMatrixType::Nested ElseMatrixNested; enum { RowsAtCompileTime = ConditionMatrixType::RowsAtCompileTime, ColsAtCompileTime = ConditionMatrixType::ColsAtCompileTime, MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime, Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits, - CoeffReadCost = ei_traits::CoeffReadCost - + EIGEN_ENUM_MAX(ei_traits::CoeffReadCost, - ei_traits::CoeffReadCost) + CoeffReadCost = ei_traits::type>::CoeffReadCost + + EIGEN_ENUM_MAX(ei_traits::type>::CoeffReadCost, + ei_traits::type>::CoeffReadCost) }; };