templatestruct Fibonacci { enum { value = Fibonacci ::value + Fibonacci ::value }; }; template<> struct Fibonacci<1> { enum { value = 1 }; }; template<> struct Fibonacci<2> { enum { value = 1 }; }; int main() { cout << Fibonacci<5>::value << endl; }