diff --git a/paddle/framework/eigen.h b/paddle/framework/eigen.h index 4ba4fd4d110330805faf2468bd406cb23c6f1b1c..2599b2950836acd44102265dff8bb903f5c8b371 100644 --- a/paddle/framework/eigen.h +++ b/paddle/framework/eigen.h @@ -65,14 +65,15 @@ template struct EigenVector : public EigenTensor { // Flatten is to reshape a Tensor into a one dimension EigenVector - static typename EigenTensor::Type Flatten(Tensor& tensor) { - return EigenTensor::From( - tensor, make_ddim({static_cast(product(tensor.dims_))})); + using Parent = EigenTensor; + static typename Parent::Type Flatten(Tensor& tensor) { + return Parent::From(tensor, + make_ddim({static_cast(product(tensor.dims_))})); } - static typename EigenTensor::ConstType Flatten(const Tensor& tensor) { - return EigenTensor::From( - tensor, make_ddim({static_cast(product(tensor.dims_))})); + static typename Parent::ConstType Flatten(const Tensor& tensor) { + return Parent::From(tensor, + make_ddim({static_cast(product(tensor.dims_))})); } };