在课程模板中没有扣除

时间:2010-10-10 11:08:45

标签: 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?

1 个答案:

答案 0 :(得分:4)

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

您需要明确提供模板参数。

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