*.hpp ファイルにテンプレート宣言を記述し、*.hpp からリンクされた *.inl ファイルにその「定義」を記述します。
ちょうどこのような:
//*.hpp
template <typename T1, typename T2>
class SomeClass
{
public:
void someMethod();
};
//*.inl
template <typename T1, typename T2>
void SomeClass<T1, T2>::someMethod()
{
}
しかし、*.inl ファイルのテンプレート クラス内に追加のテンプレート化されたメソッドを記述する方法は?
//*.hpp
template <typename T1, typename T2>
class SomeClass
{
public:
void someMethod();
template <typename E>
void extraTypedMethod(E & e);
};
//*.inl
template <typename T1, typename T2>
void SomeClass<T1, T2>::someMethod()
{
}
//how can I here define extraTypedmethod?