template<int n>
struct Numberim{
enum{ value = Numberim<n-1>::value + n };
};
template<>
struct Numberim<0>{
enum{ value = 0 };
};
这是一个简单的tmp示例,它没问题;模板元编程时结构和类之间的区别
template<int n>
class Numberim{
enum{ value = Numberim<n-1>::value + n };
};
template<>
class Numberim<0>{
enum{ value = 0 };
};
我用G ++编译,并抱怨......然而,据我所知,struct和class几乎在对待同一way.just这样“在C++中,之间的唯一区别结构和类是默认情况下结构成员是公共的,并且类成员默认是私有的。“
那么,他们在地球上有什么不同?
'它抱怨.'-它怎么抱怨? – 2012-03-30 04:25:47
你为什么认为有区别? – josephthomas 2012-03-30 04:25:49
@Jesse g ++说这样的“错误:'Numberim <22> :: Numberim <22> ::价值'是私人的',好吧...我想我很天真地问这个问题。谢谢。 –
2012-03-30 04:30:01