c++ - 类模板中没有扣除

标签 c++ templates

template<typename T> 
class A { 
  public: 
    A(T b) : a(b) { 
    } 
  private: 
    T a; 
}; 

A object(12); //Why does it give an error?

为什么不能自动从参数 12 推导出类型 T?

最佳答案

Template argument deduction仅适用于函数和成员函数模板,不适用于类模板。所以你的代码格式不正确。

您需要显式提供模板参数。

A<int> object(12); //fine

关于c++ - 类模板中没有扣除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900051/

相关文章:

c++ - OpenCV calibrateCamera 不收敛到正确的解决方案(投影仪校准)

python - python mako 模板是否支持循环上下文中的 connitue/break?

templates - 我应该如何检查 Ember 中 ArrayController 的内容是否脏

c++ - 标志 ios_base::app 的错误行为

c++ - boost c++库对象序列化问题

templates - Kendo UI Treeview Sprite-Altering 模板

c++ - 理解c++中模板的问题

c++ - 在编译时指定静态和动态大小

c++ - 使用特征值的复矩阵矩阵乘法

c++ - 无法使用 pcap_findalldevs 获取 ip 地址