如何在两个参数上使用偏专业化
How do i use partial specialization on two parameters
我可以保证语法是正确的。我四处玩耍,把class
换成了typename
。还是不行。
我该怎么写才能让第二个函数模板生效?
#include <iostream>
template<typename T, typename TT> void fn(T t, TT tt) { std::cout<<"general"<<std::endl; }
template<> void fn<T, bool>(T t, bool tt) { std::cout<<"bool"<<std::endl; }
int main(){
fn("", "");
fn("", true);
}
函数模板没有部分特殊化。只需使用重载:
template<typename T> void fn(T t, bool tt) { std::cout<<"bool"<<std::endl; }
相关文章:
- 如何使用默认参数等选择模板专业化
- 我可以用clang AST从模板专业化中获得默认的模板参数吗
- 带有默认参数的模板专业化
- 还有另一个类模板专业化(在布尔参数上)
- 常量函数参数的专业化
- 嵌套模板类的模板类模板模板参数的专业化
- 遍历模板参数包,没有争论的专业化的作用是什么?
- 继承专业化的模板参数推导
- 如何部分专业化功能以用元组元素作为参数调用功能
- 具有变异模板模板参数的方法的部分专业化
- 功能模板参数包,然后是模板参数和专业化
- 在允许的函数模板的明确专业化中扣除了多个模板参数
- C 中的模板专业化中的字符串参数
- 模板参数的模板专业化
- 对于类型是类模板专业化的参数,ADL背后的理由是什么
- 为什么我们不能在模板专业化的开始/中间使用可变参数模板(以及如何模拟)?
- 操作员与整数模板参数专业化过载
- 错误:类模板部分专业化包含无法推导的模板参数
- C - 具有非类型模板参数的模板类上的专业化函数模板
- 带有模板参数的模板专业化