我如何使我的sizeof sum结构与空参数包一起工作

问题描述 投票:0回答:1

我有这个可变的结构来确定传入的所有类型的大小之和:

template <typename U, typename... T> struct TotalSizeOf 
    : std::integral_constant<size_t, sizeof(U) + TotalSizeOf<T...>::value> {};

template <typename U> struct TotalSizeOf<U> 
    : std::integral_constant<size_t, sizeof(U)> {};

用法:TotalSizeOf<double, int, char>::value

问题是,如何修改它以使其在空参数包上工作,以返回0

例如TotalSizeOf<>::value

当前,出现错误error: wrong number of template arguments (0, should be at least 1)

我只有C ++ 14可用。

c++
1个回答
1
投票

您还必须专门研究<>

示例:

© www.soinside.com 2019 - 2024. All rights reserved.