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时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器