Compile-time problems with templates are often related to communication problems, rather than compilation problems.
Using templates inside your .cpp files, but making sure the headers do not actually contain a template is a good way to fix them. This can be done either by declaring the class, or by wrapping your implementation class in an abstract base class that simply declares public members (mostly the Pimpl idiom).
source
share