可能重复:
使用没有模板参数的模板类
如果我有一个模板函数,我不需要实例化它,因为它可以从参数中推断出来,如下所示:
template<typename T> void MyFunc(T arg);
int x;
MyFunc(x);
对于编译器可以猜测模板参数的任何情况,这都是真的吗?具体来说,我在想这个:
template<typename T>
class MyClass {
public:
MyClass(T) { }
};
int x;
MyClass<int> c1(x); // regular style
MyClass c2(x); // is this allowed?