私が書いている DL リストのこの検索機能が機能しない理由がわかりません。問題は、tempNode->data と s の比較が失敗していることです。データが等しいにもかかわらず、比較は偽と評価されています。理由を知っている人はいますか?
bool DoublyLinkedList::find(string& s)
{
if(empty())
return false;
else
{
Node* tempNode = head;
do{
if(*(tempNode->data) == s)
{
return true;
}
tempNode = tempNode->next;
} while(tempNode != NULL);
return false;
}
}
class Node
{
public:
Node* next;
Node* prev;
string* data;
Node(){next = NULL; prev = NULL; data = NULL;};
~Node(){delete prev; delete next; delete data; next = NULL; prev = NULL; data = NULL;};
};