qq_21044655 2015-06-06 15:04 采纳率: 50%
浏览 1962

c++重载决议具体化优先于函数模板

template void f(T a){ cout << "aaaaaaa"; }
template <> void f(int & a){ cout << "fffffffffff"; }
int b;f(b);
为什么输出aaaaaaa,不是应该输出fffffffffff吗,看书上说具体化优先于模板函数的

求知道的大神指点下啦,万分感谢

  • 写回答

5条回答

  • devmiao 2015-06-06 15:23
    关注
     #include <iostream>
    using namespace std;
    template <typename T>void f(T a){ cout << "aaaaaaa"; }
    void f(int & a){ cout << "fffffffffff"; }
    int main()
    {
     int b;
     f(b);
    }
    

    http://codepad.org/iyORv2CE
    在线运行的结果
    输出的是fffffffffff

    评论

报告相同问题?

悬赏问题

  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员