6
Попытка поиграть с вариационным шаблоном, но почему-то мой мозг онемел.Variadic template Summing class
Я пытаюсь создать класс для суммирования переменных во время компиляции, но не могу корректно создать условие остановки. Я попытался это сделать следующим образом: .. но он не компилируется, не помогает никому?
#include <iostream>
#include <type_traits>
using namespace std;
template<size_t Head, size_t ...Rest>
struct Sum
{
static const size_t value = Head + Sum<Rest...>::value;
static void Print() {
cout << value;
}
};
template<>
struct Sum
{
static const size_t value = 0;
};
int _tmain(int argc, _TCHAR* argv[])
{
Sum<5,5,5>::Print();
return 0;
}