На этот вопрос уже есть ответ здесь:
Итак, я слышал, что шаблоны C ++ не следует разделять на заголовочный (.h) и исходный (.cpp) файлы.
Например, такой шаблон:
template
class J
{
T something;
};
Это правда? Почему это так?
Если из-за этого мне придется поместить декларацию и реализацию в один и тот же файл, следует ли мне поместить это в файл .h или файл .cpp?