在写模板类时如何定义指向模板的指针的别名?

template <typename Element>
class Node {
    typedef Node<Element>* PtrToNode;
};

这样我就定义了一个指向该模板的指针的别名,但是这个别名在该模板外不可使用。请问如何定义一个全局的指针别名?

阅读 10.3k
2 个回答
template <typename Element>
class Node {
public:  // 加上限定符就好了
  typedef Node<Element>* PtrToNode;
};

int main() {
  Node<int>::PtrToNode p = new Node<int>;
  delete p;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题