Это то, с чем я никогда не сталкивался раньше.Скажем, у меня есть класс, который выглядит следующим образом:
template <class T1>
class A
{
void normal_function();
template <class T2>
void templated_function(T2);
}
Из-за стандартов кодирования мне не разрешено помещать тело templated_function
в определениях классов, я должен иметь его ниже (но все еще в файле .h).
Итак, у меня есть что-то вроде этого
template <class T1>
void A<T1>::normal_function()
{
...
}
Но как мне написать спецификацию шаблона для templated_function
, когда она находится вне определения класса?Я попробовал это, но мне это показалось неправильным, и я не удивился, когда он не скомпилировался.
template <class T1, class T2>
void A<T1>::templated_function<T2>(T2 t)
{
...
}