Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.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++ 如何专门化已专门化的模板_C++_Templates_Specialization - Fatal编程技术网

C++ 如何专门化已专门化的模板

C++ 如何专门化已专门化的模板,c++,templates,specialization,C++,Templates,Specialization,假设我有这个模板: template<class T, int a, int b> class Foo 模板 福班 我有上述char模板的部分专用版本: template<int a, int b> class Foo<char, a, b> 模板 福班 我如何进一步专门化上面的模板,比如a=1?你不能专门化一个专门化,你只能使另一个专门化更好地匹配。模板类Foo?编译器如何知道它是从第一个还是第二个专门化的?你不能专门化一个专门化,你只能让另一个专业

假设我有这个模板:

template<class T, int a, int b>
class Foo
模板
福班
我有上述char模板的部分专用版本:

template<int a, int b>
class Foo<char, a, b>
模板
福班

我如何进一步专门化上面的模板,比如a=1?

你不能专门化一个专门化,你只能使另一个专门化更好地匹配。

模板类Foo
?编译器如何知道它是从第一个还是第二个专门化的?你不能专门化一个专门化,你只能让另一个专业更适合你。