I think it is not valid because the constructor isn't always the only point of entry of the class (I am talking about copy constructor and operator=).?So suppose you are using your class like this :
MyClass m(string s);
MyClass *pm;
*pm = m;
I am not sure if it would be so obvious for the parser to know what template type is the MyClass pm;
Not sure if what I said make sense but feel free to add some comment, that's an interesting question.
C++ 17
It is accepted that C++17 will have type deduction from constructor arguments.
Examples:
std::pair p(2, 4.5);
std::tuple t(4, 3, 2.5);
Accepted paper.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…