加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何在两个参数上使用部分特化

发布时间:2020-12-16 09:40:30 所属栏目:百科 来源:网络整理
导读:我发誓语法是正确的.我玩了一下,把类改成了typename.仍然没有去. 我如何写这个,以便第二个功能模板开始? #include iostreamtemplatetypename T,typename TT void fn(T t,TT tt) { std::cout"general"std::endl; }template void fnT,bool(T t,bool tt) { std
我发誓语法是正确的.我玩了一下,把类改成了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; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读