diff --git a/Eigen/src/Array/Replicate.h b/Eigen/src/Array/Replicate.h index 661a7b561..46a06a61c 100644 --- a/Eigen/src/Array/Replicate.h +++ b/Eigen/src/Array/Replicate.h @@ -160,10 +160,10 @@ DenseBase::replicate(int rowFactor,int colFactor) const * \sa VectorwiseOp::replicate(), DenseBase::replicate(), class Replicate */ template -const Replicate +const typename VectorwiseOp::ReplicateReturnType VectorwiseOp::replicate(int factor) const { - return Replicate + return typename VectorwiseOp::ReplicateReturnType (_expression(),Direction==Vertical?factor:1,Direction==Horizontal?factor:1); } diff --git a/Eigen/src/Array/VectorwiseOp.h b/Eigen/src/Array/VectorwiseOp.h index 06d999b14..50cfa7a5e 100644 --- a/Eigen/src/Array/VectorwiseOp.h +++ b/Eigen/src/Array/VectorwiseOp.h @@ -384,8 +384,8 @@ template class VectorwiseOp const Reverse reverse() const { return Reverse( _expression() ); } - const Replicate - replicate(int factor) const; + typedef Replicate ReplicateReturnType; + const ReplicateReturnType replicate(int factor) const; /** \nonstableyet * \return an expression of the replication of each column (or row) of \c *this