将typedef与模板类一起使用

时间:2013-12-20 09:37:09

标签: c++ templates dynamic stack typedef

我已编写此代码,但它不起作用!

它是C ++中动态堆栈节点的实现:

template <class E>

class Record{

public:

    E elem;

    Record<E> *prec;
};


typedef Record<E> *P; <- error!

我无法解决它,任何解决方案? 感谢

1 个答案:

答案 0 :(得分:5)

typedef Record<E> *P; <- error!

您无法执行&#34;模板typedef&#34;像这样在C ++ 03中。您需要将E替换为具体类型。

在C ++ 11中,您可以使用using别名,如下所示:

template <typename E>
using P = Record<E>*;

P<int> p;
P<float> q;