You've already solved the problem :)
Move the code from the .cpp file to the .h, file. The compiler needs to see both the definition and the implementation to generate the correct code.
Remember that when using templates, you're only providing a pattern, not an actual implementation.
Read
this for a better explanation.
Hope this helps,
Fredrik