首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >template<> template<typename T>语法用于什么?

template<> template<typename T>语法用于什么?
EN

Stack Overflow用户
提问于 2018-09-25 05:19:58
回答 1查看 421关注 0票数 0

有时,我看到类专门化代码如下:

代码语言:javascript
复制
template <>
template < typename T >
class Foo<Foo2<T>>
{
...
};

对于这样的课程:

代码语言:javascript
复制
template < typename T > class Foo {};

template < typename T > class Foo2 {};

我知道这段代码意味着什么,但我的问题是:在类专门化中使用“template<>”是什么,因为没有它也可以完成相同的事情:

代码语言:javascript
复制
template <typename T> Foo<Foo2<T>> {};

是否有任何情况,不限于类专门化,这种语法是必要的?(模板后面跟着另一个模板,而不是模板模板参数)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-25 07:13:54

在回答我自己的问题时(感谢Story Teller和Max Vollmer的提示),这段代码是无效的:

代码语言:javascript
复制
template <>
template < typename T >
class Foo<Foo2<T>>
{
...
};

然而,关于模板<...>模板<...>语法的使用,在模板类中定义模板化方法是必要的。例如:

代码语言:javascript
复制
template < T > template < U > void Foo<T>::function() { }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52491058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档