我已编写此代码,但它不起作用!
它是C ++中动态堆栈节点的实现:
template <class E>
class Record{
public:
E elem;
Record<E> *prec;
};
typedef Record<E> *P; <- error!
我无法解决它,任何解决方案? 感谢
答案 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;