原题如下:
试参考以下代码,完成一个static_log2,该模板类的功能是求log2(int n)的整数部分

template <int n>
class static_fact //求n的阶乘
{
public: 
      enum { value = static_fact<n-1>::value * n };
};

template <>
class static_fact<0>

 public:enum { value = 1 };
};

#include <stdio.h>
void main()
{     
printf(“3! = %d “, static_fact<3>::value);
}

 没研究过template,连c++也不是太熟,不过看了一会,大概看出是个递归,剩下的就是想递归的结束条件了, 可怜我脑袋不太灵光,刚开始想歪了,浪费了不少时间,还好,后来还是想出来了,//blush

  还有一题就是一个比较难的竞赛题了, 我的数学不好,没搞出来,哪天有空,搜一下看看怎么做的:)