c – 课堂模板中没有扣除

前端之家收集整理的这篇文章主要介绍了c – 课堂模板中没有扣除前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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&C++相关文章