QUOTE (k155la3 @ Jan 11 2017, 14:22)

Где должно располагаться "тело" функции, в hpp-файле или в cpp ?
В заголовочном файле.
QUOTE (k155la3 @ Jan 11 2017, 14:22)

если это все (запросы к ф-ии из других модулей) проясняется уже на уровене линкера, и "докомпилировать" уже нельзя).
Нет, это разрешается на этапе компиляции. Линкер только из нескольких одинаковых реализаций в разных единицах трансляции оставляет одну.
В .cpp можно поместить специализацию, но в заголовочном файле в этом случае должно быть указано, что такая специализация существует.