模板类构造函数语法

时间:2013-05-23 02:57:31

标签: c++ templates computational-geometry

我正在研究Michael Laszlo's book on computational geometry并且已经与他使用过的一种非常类型的模板类构造函数语法混淆。

第一个代码

template<class T> class ListNode :public Node{
public:
    T _val;
    ListNode(T val);
    friend class List<T>;
};

template class<T> ListNode::ListNode(T val)  : // shouldn't this be template <class T> ListNode <T>::ListNode(T val)
   _val(val)
{
}

问题

语法不应该是ListNode <T>::ListNode(T val)而不是ListNode ::ListNode(T val)吗?

1 个答案:

答案 0 :(得分:1)

您提供的代码无法编译。你应该ListNode<T>::ListNode(T val)是完全正确的(尽管通过值传递是值得商榷的)。如果您查看本书的勘误表,您可能会在那里找到它。