Baelix, As far as I know the using namespace std is not require in a .h file since I am not creating an abstract class... I tried it any way did not make a difference
Fire nailed it. Completely forgot the rules that go along with templating :P
Instead of having 2 seperate files (1 .cpp and 1 .h) put all of your implementation into your header file. I won't divulge where or how; that's easy enough to google :P
Well you can separate template implementation from declaration if you know in advance what specific instantiations of the template your program will use and place them in a .cpp file.
As far as I know the using namespace std is not require in a .h file since I am not creating an abstract class...
Quite a misconception you have. Namespaces are used to avoid name collision.
The standard c++ classes and functions are inside the std namespace.
If you want to use them, then you need to qualify them. By instance std::ostream.
You can use using to avoid that prefix thing. However the effect is as if the function were declared in the global namespace.
So using in a header defeats the purpose of namespaces.