I hope the problem is clear. Is there an alternative way not to get undefined reference error without implementing template functions in header files? Thanks in advance.
Marshall Cline's C++-FAQ already deals with this.
One way is to use export but I don't really recommend using it because not all compilers support it really!
In fact C++0x Committee has voted out export out of the next C++ Standard.