对于模板,我看到了两个声明:
template < typename T >
template < class T >
Run Code Online (Sandbox Code Playgroud)
有什么不同?
这些关键字在下面的例子中究竟是什么意思(取自德国维基百科关于模板的文章)?
template < template < typename, typename > class Container, typename Type >
class Example
{
Container< Type, std::allocator < Type > > baz;
};
Run Code Online (Sandbox Code Playgroud) 非常简单:
template <class T>
void foo() {} //compiles
template <struct T>
void goo() {} //doesn't
Run Code Online (Sandbox Code Playgroud)
为什么?