templates - Variadic functions (without arguments!) -
let's assume want in c++0x:
size_t count_int() { return 0; } template<typename t, typename... tn> size_t count_int(t a0, tn... an) { size_t n = is_integer<t>::value ? 1 : 0; return n + count_int(an...); }
nice, feels unnecessary pass around arguments. unfortunately, not work:
size_t count_int() { return 0; } template<typename t, typename... tn> size_t count_int() { size_t n = is_integer<t>::value ? 1 : 0; return n + count_int<tn...>(); }
gcc complains error: no matching function call 'count_int()' in next-to-last line. why , how can fixed? thanks.
this works:
template <typename t> size_t count_int() { return is_integer<t>::value ? 1 : 0; } template<typename t, typename t1, typename... tn> size_t count_int() { size_t n = is_integer<t>::value ? 1 : 0; return n + count_int<t1,tn...>(); };
Comments
Post a Comment