Ach*_*ich 5 c++ templates c++11
下面的代码工作正常:
template<typename T, int n>
class Fib {};
template<typename T,int n>
class Fib<T*,n> {};
Run Code Online (Sandbox Code Playgroud)
但下面的代码显示错误为:
错误:模板参数在部分特化中不可推导:
template<typename T, int n>
class Fib {};
template<typename T,int n>
class Fib<T*,0> {};
Run Code Online (Sandbox Code Playgroud)
你能解释这种行为的原因吗?
小智 4
我相信您只是缺少部分专业化的正确语法:
template<typename T, int n>
class Fib {
};
template<typename T>
class Fib<T*,0> {
};
Run Code Online (Sandbox Code Playgroud)
模板上的第一个参数是类型,而第二个参数只是一个常量值。
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |