如何将模板化类作为默认模板类型传递给自己的类?

时间:2015-04-20 12:41:57

标签: c++ templates

我有一个问题,我想将类本身作为自身的默认模板传递,如:

template<typename dataType, typename nodeType = node<dataType> >
class node
{
  ...
}

clang发出以下错误:

error: unknown type name 'node'

1 个答案:

答案 0 :(得分:1)

我会使用CRTP

template <class Node_type>
class BaseNode
{
    //Common logic for nodes here
};

template <class Data_type>
class Node : public BaseNode< Node<Data_type> >
{
    ...
}