【发布时间】:2018-09-25 05:19:58
【问题描述】:
有时我会看到这样的类专业化代码:
template <>
template < typename T >
class Foo<Foo2<T>>
{
...
};
对于这样的类:
template < typename T > class Foo {};
template < typename T > class Foo2 {};
我知道这段代码是什么意思,但我的问题是:在类专业化中使用“模板”有什么用,因为没有它也可以完成同样的事情:
template <typename T> Foo<Foo2<T>> {};
在任何情况下,不限于类专业化,这种语法是必要的吗? (模板后跟另一个模板,不是模板模板参数)
【问题讨论】:
-
11、14 和 17,真的吗?
-
另外,你能让你的代码不那么伪吗?它不是有效的 C++,因此它不能很好地表明您可能已经或可能没有看到什么。 minimal reproducible example 会让您更快地得到答案。
-
抱歉,我已经修复了代码。模板 的相同用法在此处接受的答案中:stackoverflow.com/questions/4189945/…
-
我很确定您带来的示例中的情况(并在您的帖子中重复)是一个错字,因为代码本身格式错误。不是说没有它可以完成,而是没有它需要完成。我投票结束,因为不可复制,错字。