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