diff --git a/src/common/dimensional_array.h b/src/common/dimensional_array.h index 459cd705b..b4b6a4a43 100644 --- a/src/common/dimensional_array.h +++ b/src/common/dimensional_array.h @@ -30,16 +30,16 @@ template struct DimensionalArrayExplicitRank; template -constexpr std::size_t GetRankSize() +struct GetRankSize { - constexpr std::size_t size_array[] = {sizes...}; - return size_array[rank - 1]; -} + static constexpr std::size_t size_array[] = {sizes...}; + static constexpr std::size_t value = size_array[rank - 1]; +}; template using GetArrayImplType = std::array>, - GetRankSize()>; + GetRankSize::value>; template struct DimensionalArrayExplicitRank : public GetArrayImplType @@ -77,4 +77,3 @@ struct DimensionalArrayExplicitRank : public GetArrayImplType using DimensionalArray = detail::DimensionalArrayExplicitRank; -