2014-01-24 38 views
3

如果我写的话,titlen几乎全是说的;模板模板参数,为什么class被强制?

         vvvvv 
template <template <typename, typename> class StdContainer, typename T> 
class DerivedContainer: public StdContainer<T, std::allocator<T>> 
{ /*...*/ }; 

为什么需要class关键字?那就是当typename被允许时,作为所有其他模板上下文的替代品。消除歧义?标准的哪个部分说明了这一点?

注意;我不是从std容器派生的,这只是一个例子。

+2

复制[模板中的关键字'typename'和'类'的C++差异](https://stackoverflow.com/questions/2023977/c-difference-of-keywords-typename-and-class -in模板)? 'template