template struct fibonacci { static const long value = fibonacci::value + fibonacci::value; }; template <> struct fibonacci<1> { static const long value = 1; }; template <> struct fibonacci<2> { static const long value = 1; }; int main() { long i = fibonacci<70>::value; return 0; }