template<unsigned int n>
struct Factorial {
enum { value = n * Factorial<n-1>::value};
};
template<>
struct Factorial<0> {
enum {value = 1};
};
int main() {
std::cout << Factorial<5>::value;
std::cout << Factorial<10>::value;
}
上面的程序在编译时计算阶乘值。我想使用cout在编译时打印阶乘值。我们如何实现在编译时打印阶乘值?
我正在使用VS2009。
谢谢!
cout
等方式输出结果(需要运行程序)。 - Vlad