以下是我用模板结点类定义对象时,但是似乎出现问题?该怎么修改?

template<class T>
class Node
{
public:
Node<T>* _last;
T _value;
Node<T>* _next;
public:
Node(T v , Node<T>* q = 0,Node<T>* p = 0 )
{
_value = v;
_last = new Node<T>(*q);
_next = new Node<T>(*p);
}
Node(const Node<T>& N)
{
_value = N._value;
_next = N._next;
_last = N._last;
}
void operator= (const Node<T>& t)
{
_value = t._value;
_next = t._next;
_last = t._last;
}
};

largeQ
浏览 172回答 1
1回答

哆啦的时光机

问题出在这里:你的构造函数是这样的Node(T v , Node<T>* q = 0,Node<T>* p = 0 ){_value = v;_last = new Node<T>(*q);_next = new Node<T>(*p);}构造函数调用形式为Node<int>* first = new Node<int>(0);注意构造对象只有一个参数时,p和q的值都是0,自然不能 *p,*q了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js