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 ++を使用し、それは、私の知る限りでは、構造体やクラスはC++で、「このように同じway.justにほとんど扱われ、しかし...との唯一の違いを不平を言います構造体とクラスは、構造体のメンバーはデフォルトでpublicであり、クラスのメンバーはデフォルトでprivateです。
だから、地球上のそれらの違いは何ですか?
「それは文句ありません」 - それはどのように文句を言うのですか? –
なぜ違いがあると思いますか? – josephthomas
@Jesse g ++はこのように言っています "エラー: 'Numberim :: Numberim <22> :: value'はプライベートです。まあ...私はこの質問をするのが素朴だと思います。 –