我在* .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?
答案 0 :(得分:30)
以下是您的定义:
template <typename T1, typename T2>
template <typename E>
void SomeClass<T1, T2>::extraTypedMethod(E & e)
{
}