template <int N>
struct Fact
{
enum {
value = Fact<N - 1>::value + Fact<N - 2>::value
};
};
template<>
struct Fact<1>
{
enum { value = 1 };
};
template<>
struct Fact<2>
{
enum { value = 2 };
};
int main()
{
cout << Fact<5>::value;
return 0;
}
template <int N>
struct Fact
{
enum {
value = Fact<N - 1>::value + Fact<N - 2>::value
};
};
template<>
struct Fact<1>
{
enum { value = 1 };
};
template<>
struct Fact<2>
{
enum { value = 2 };
};
int main()
{
cout << Fact<5>::value;
return 0;
}