2014-01-24 65 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