-4
我創建了一個ListNode
類:鏈表指針錯誤是沒有意義的
ListNode::ListNode()
{
value = 0;
next = NULL;
previous = NULL:
}
所以我有這個功能應該返回的節點是頭之後:
ListItr List::first()
{
ListItr* first = new ListItr(head->next);
return first;
}
我將參數head->next
傳遞給此功能:
ListItr::ListItr(ListNode* theNode)
{
current = theNode;
}
當我嘗試編譯我的代碼,我得到的是說no viable conversion from 'ListItr *' to 'ListItr'
的記錄錯誤下一個錯誤說:
`candidate constructor (the implicit copy constructor) not viable: no know conversion from 'ListItr *' to 'const ListItr &' for 1st argument; dereference the argument with *
我不明白什麼是錯我的代碼意義上的函數需要一個點被傳遞,這就是我所傳遞的。
鏈接:http://stackoverflow.com/questions/32428930/no-viable-conversion-from-class-to-class/32429505 – Tas
錯誤你說你get與下面的音符略有不同。一個是說它不能從'ListItr *'轉換爲'ListItr',但另一個說不能從'ListItr *'轉換爲'ListNode *'。你的'ListItr'構造函數需要'ListNode *';然而,如果你嘗試傳遞一個'ListItr *',它會假設你試圖隱式複製構造。如果您對類型感到困惑,可能有助於將它們重新命名爲完全不同的單詞。 – Tas
我知道這就是爲什麼我很困惑!我不明白錯誤消息,並且在代碼中看不到問題。 –