I am having trouble separating a templated class into .hpp for the declaration and .cpp for the definition. Are you not allowed to do this? My code works when I have it all in the .hpp with nothing but the #include "Fifo.hpp" in the .cpp file. It will not compile if the definition is in the .cpp file. Any advice?