I don't have many experience with templates, but I'm trying to learn on the go, so could someone please tell me what do I do to make this work, because I have seen a lot of examples of using typenames and explicit instantion and explicit specialization but they just include the basic types like int,char,...
So please help because I don't understand what to do.
There is no default constructor in piece without parameter either u can create one constructor in piece which is having no parameter or call explicitly the constructor as E element(x,y,string pz)
You need to fix up the assignment in the Container constructor to use an initialisation list and move the explicit declaration of the Piece specialisation so that it's after the constructor: