Template constructor in a class template - how to explicitly specify template argument for the 2nd parameter?
compile error when tried to explicit specify template
You can explicitly specify the template arguments for your calls to foo because those member functions foo have names -- and the template arguments are part of that name.
That doesn't work with constructors because a constructor has no name. You can't (directly) call a constructor. A constructor is of course called when you create an object, but the call is generated code.