将typedef与模板类一起使用

Ala*_*100 1 c++ stack templates typedef dynamic

我写了这段代码,但它不起作用!

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

template <class E>

class Record{

public:

    E elem;

    Record<E> *prec;
};


typedef Record<E> *P; <- error!
Run Code Online (Sandbox Code Playgroud)

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

Tri*_*dle 5

typedef Record<E> *P; <- error!
Run Code Online (Sandbox Code Playgroud)

你不能在C++ 03中做这样的"模板typedef".您需要更换E混凝土类型.

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

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

P<int> p;
P<float> q;
Run Code Online (Sandbox Code Playgroud)