如何转发声明C ++模板类? [英] How to forward declare a C++ template class?
本文介绍了如何转发声明C ++模板类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出如下的模板类:
template<typename Type, typename IDType=typename Type::IDType>
class Mappings
{
public:
...
Type valueFor(const IDType& id) { // return value }
...
};
有人如何在头文件中转发声明此类?
How can someone forward declare this class in a header file?
推荐答案
这是您要执行的操作:
template<typename Type, typename IDType=typename Type::IDType>
class Mappings;
template<typename Type, typename IDType>
class Mappings
{
public:
...
Type valueFor(const IDType& id) { // return value }
...
};
请注意,默认值位于前向声明中,而不是实际定义中。
Note that the default is in the forward declaration and not in the actual definition.
这篇关于如何转发声明C ++模板类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文