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?
答案 0 :(得分:4)
Template argument deduction仅适用于函数和成员函数模板,但不适用于类模板。所以你的代码格式不正确。
您需要明确提供模板参数。
A<int> object(12); //fine