#include using namespace std; template double _kmh(Chars ...chars); double _kmh() { return 0; } template struct factor { enum { value = 10 * factor::value }; }; template<> struct factor<0> { enum {value = 1}; }; template double _kmh(char c, Chars ...chars) { return (c - '0') * factor::value + _kmh(chars ...); } int main() { cout << _kmh('1', '2', '3') << '\n'; }