|
发表于 2009-11-2 06:37:35
|
显示全部楼层
IP:江苏扬州
以下是引用crazy23在2007-9-7 7:20:37的发言:
template<int N>
class A{
enum {result=N+A<N-1>::result};
};
template<>
class A<0>{
enum{result=0};
};
void main(void)
{
printf("%d",A<100>::result);
}
能不能就是先给我解释一下那枚举,为什么要那么定义呢?还有就是定义一个类,类里面是一个枚举,此时类里面的枚举又怎么是class A{enum {result=N+A<N-1>::result};};这样定义的呢?还有就是下面的class A<0>{enum{result=0};};A<0>这是什么东西呀,再加上这输出printf("%d",A<100>::result);A<100>::result不懂呀!
printf("%d",A<100>::result);A<100>::result是C的输出吧。。。
怎么C++还要用这个啊??? |
|