The compiler cannot generate code for a template until you:
For information on the first two requirements, see Declaring and Defining Templates.
Specifying the data type(s) and other arguments for a template is called instantiating the template. Carbide.c++ gives you two ways to instantiate a template. You can let the compiler instantiate it automatically when you first use it, or you can explicitly create all the instantiations you expect to use.