Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么是<&燃气轮机;在声明中的类名之后再次出现。。。模板<;B、 C>;D类<;C、 B>;{}_C++_Templates_Language Lawyer - Fatal编程技术网

C++ 什么是<&燃气轮机;在声明中的类名之后再次出现。。。模板<;B、 C>;D类<;C、 B>;{}

C++ 什么是<&燃气轮机;在声明中的类名之后再次出现。。。模板<;B、 C>;D类<;C、 B>;{},c++,templates,language-lawyer,C++,Templates,Language Lawyer,我在SO中找到了关于模板的信息。这就像两次声明模板签名一样 template <typename Tf, Tf F> class Collection; template <typename K, typename ... I, HashFunction<K, I...> F> //<-- #B1 class Collection<HashFunction<K, I...>, F> //<-- <>

我在SO中找到了关于模板的信息。这就像两次声明模板签名一样

template <typename Tf, Tf F>
class Collection;

template <typename K, typename ... I, HashFunction<K, I...> F>   //<-- #B1
class Collection<HashFunction<K, I...>, F>    //<-- <> again!          #B2
 {    /*.......*/ }
模板
班级收集;
模板//
在类模板上:

模板
类哈希函数;
因此,如果将任何实例化类型的
HashFunction
用作
集合
的模板参数,则会选择部分专门化
//B
进行实例化



这是类模板的部分专门化^-强制链接@StoryTeller哇酷!谢谢。我想找一个复制品,但运气不好。如果你想记录你在回答自己的问题时学到的东西,你可以自己发布答案,这对整个网站都有好处。@StoryTeller如果你只是发布链接(实际上只是将你的评论复制到答案中),我会接受它。我想人们可以通过你的链接更容易地了解它。除息的
// A
template <typename Tf, Tf F>
class Collection;


// B
template <typename K, typename ... I, HashFunction<K, I...> F>
class Collection<HashFunction<K, I...>, F> 
 {    /*.......*/ }
template <typename Tf, Tf F>
class Collection;
template<typename K, typename ... I>
class HashFunction<K, I...>;