prog.cpp:28:56: error: type/value mismatch at argument 2 in template parameter list for ‘template<template<class> class Pred, template<class ...> class Variadic, class T, class ... Ts> template<class, class> struct filter<Pred, Variadic, T, Ts ...>::Cons’
Cons<T, filter<Pred, Variadic, Ts...>::type>::type,
^
prog.cpp:28:56: error: expected a type, got ‘filter<Pred, Variadic, Ts ...>::type’
prog.cpp:29:49: error: template argument 2 is invalid
filter<Pred, Variadic, Ts...>::type >::type;
^
prog.cpp:29:49: error: type/value mismatch at argument 3 in template parameter list for ‘template<bool <anonymous>, class, class> struct std::conditional’
prog.cpp:29:49: error: expected a type, got ‘filter<Pred, Variadic, Ts ...>::type’
prog.cpp: In function ‘int main()’:
prog.cpp:34:19: error: ‘type’ is not a member of ‘filter<std::is_integral, std::tuple, int, float, long int>’
filter<std::is_integral, std::tuple, int, float, long>::type,
^
prog.cpp:34:19: error: ‘type’ is not a member of ‘filter<std::is_integral, std::tuple, int, float, long int>’
prog.cpp:35:41: error: template argument 1 is invalid
std::tuple<int, long> >::value, "");
^