template<int n>
struct Numberim{
enum{ value = Numberim<n-1>::value + n };
};
template<>
struct Numberim<0>{
enum{ value = 0 };
};
Dies ist ein einfaches tmp Beispiel, und es ist in Ordnung;Unterschied zwischen Struktur und Klasse, wenn Vorlage Meta-Programmierung
template<int n>
class Numberim{
enum{ value = Numberim<n-1>::value + n };
};
template<>
class Numberim<0>{
enum{ value = 0 };
};
ich g ++ kompilieren, und es beschwert ... aber soweit ich weiß, Struktur und Klasse ist fast in der gleichen way.just wie diese "In C++, den einzigen Unterschied zwischen einem behandelt struct und eine Klasse ist, dass Strukturmitglieder standardmäßig öffentlich sind und die Klassenmitglieder standardmäßig privat sind. "
Also, was ist der Unterschied zwischen ihnen hier auf der Erde?
'es beschwert sich.- wie beklagt es sich? –
Warum denken Sie, dass es einen Unterschied gibt? – josephthomas
@Jesse die g ++ sagt so "Fehler: 'Nummerim <22> :: Nummerim <22> :: Wert' ist privat", nun ... Ich denke, ich bin naiv, diese Frage zu stellen. Danke. –