So, I just am asking for clarification and wonder on why but, while creating a template class; why does one absolutely need to create a template instantiation so that you can use CPP files?
Personal thoughts:
I realize that there needs to be an argument that the compiler should know what type to use at compile time but I feel that it should at least be able to use a standard type like an integer unless specified otherwise so that you can from there go and use implementation files by default. I think it would also be nice to perhaps make a hard line, soft line, and default for templates( AKA Hard line: make it so that that template class only works with specific variable types, Soft line: make it so that the template works with everything, Default: compiles automatically for a specific set of variables with this automating to say integer).