Now, we all know that we can explicitly ask the compiler to generate the code for a specific template type parameter T of any class or any function template. But is the same possible for constructors? Let's try:

Try compiling the code. It doesn't. Isn't it? You may try different ways, different syntaxes but the thing is you cannot ask a explicit instantiation of templatized constructors. The reason being that constructors are typical member functions. They are called without a function name. They don't have a name. I mean, they are declared by the same name as that of the class but in user code sense, they don't have a name using which they are invoked. In fact, they are not even invoked by us. That happens automatically or by the placement new syntax but you don't specify the name and hence the arguments (template arguments or function arguments).

Similar are conversion functions. Here is a note from the C++ standards 2005 draft that is quite self-explantory: (section 14.8.1 paragraph 7)

[NOTE]

[ Note: because the explicit template argument list follows the function template name, and because conversion member function templates and constructor member function templates are called without using a function name, there is no way to provide an explicit template argument list for these function templates. —end note ]