美好的一天「無效的類型非常量引用的初始化...」clone()函數中的錯誤
我忙於在C++中實現線性數據結構。我正在用我的clone()函數。一行代碼似乎是爲了我,但也許錯誤是在複製構造函數。 我得到的錯誤: linkedList.C:22:32:錯誤:類型'LinkedList &'類型的非常量引用無效初始化'LinkedList *' 返回新的LinkedList(* this);
template<class T>
LinkedList<T>& LinkedList<T>::clone()
{
return new LinkedList<T>(*this);
}
template<class T>
LinkedList<T>::LinkedList(const LinkedList<T>& other)
{
Node<T>* newNode;
Node<T>* current;
Node<T>* trailCurrent;
if(head != NULL)
clear();
if(other.head == NULL)
head = NULL;
else
{
current = other.head;
head = new Node<T>(current->element);
head->next = NULL;
trailCurrent = head;
current = current->next;
while(current != NULL)
{
newNode = new Node<T>(current->element);
trailCurrent->next = newNode;
trailCurrent = current;
current = current->next;
}
}
}
首先,在我看來,你用一個指針初始化一個引用,不是嗎? – undermind 2015-02-11 17:21:01
該函數被取消返回LinkedList&,但您的代碼返回LinkedList *。有一個類型不匹配,所以編譯器會提醒你。 –
thang
2015-02-11 17:21:47