如何在* .inl文件中的模板类中定义模板函数 [英] How to define template function within template class in *.inl file
本文介绍了如何在* .inl文件中的模板类中定义模板函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在* .hpp文件中写模板声明,并在* .hp文件中链接的* .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()
{
}
如何定义extraTypedmethod?
谢谢!
解决方案
这是您的定义:
模板< typename T1,typename T2>
template< typename E>
void SomeClass< T1,T2> :: extraTypedMethod(E& e)
{
}
I write template declaration in *.hpp file and their "definition" in *.inl file linked from *.hpp
just like this:
//*.hpp
template <typename T1, typename T2>
class SomeClass
{
public:
void someMethod();
};
//*.inl
template <typename T1, typename T2>
void SomeClass<T1, T2>::someMethod()
{
}
but how to write extra templated method inside template class in *.inl file?
//*.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??
thank you!
解决方案
Here's your definition:
template <typename T1, typename T2>
template <typename E>
void SomeClass<T1, T2>::extraTypedMethod(E & e)
{
}
这篇关于如何在* .inl文件中的模板类中定义模板函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文