我想寫一個鏈表。節點如下定義:鏈接列表與模板:調用隱式刪除的默認構造函數
template<typename T>
class Node {
public:
T value;
Node<T> *next;
};
對於原始類型,我的鏈表完美地工作。但是,當我嘗試使用它來存儲自定義類的實例時,出現「調用隱式刪除的Node的默認構造函數」錯誤。
我相信問題是,當我嘗試創建一個新節點時,我沒有初始化value
,這是一個T
。但我不知道該怎麼做......
template<typename T>
Node<T> *LinkedList<T>::makeNewNode(T val)
{
Node<T> *newNode = new Node<T>;
newNode->value = val
newNode->next = NULL;
return newNode;
}
這是否意味着我的T必須有一個複製構造函數? – jjiang
@ahhhhhjulie,是的。 – SergeyA