Quote Originally Posted by TriKri
I have a template class called basic_posint
Your class template is named base_posint. You need to decide if you want to use base_posint or basic_posint.

Quote Originally Posted by TriKri
Do you have to define the function within the class to prevent this warning? (I'm compiling with g++)
No. Read this FAQ on Why do I get linker errors when I use template friends? for a solution.