Eu tenho essa estrutura variável para determinar a soma do tamanho de todos os tipos passados:
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)> {};
Uso:
TotalSizeOf<double, int, char>::value
A questão é: como modifico isso para permitir que ele funcione em um pacote de parâmetros vazio, para retornar 0
;
por exemplo TotalSizeOf<>::value
Atualmente, recebo o erro error: wrong number of template arguments (0, should be at least 1)
Eu só tenho C ++ 14 disponível.