錯誤是:沒有重載函數「BSTree :: Retrieve」的實例匹配參數列表和對象(對象具有阻止匹配的類型限定符)。引用指針錯誤。沒有重載函數的實例
參數類型有:(int
,Account*
,BSTree::Node*const
)
對象類型是:const BSTree
它的說法參數類型爲Account *
,但我把它當作Account *&acct
。
第一個參數是要檢索的對象。其次持有指向發現對象的指針。
下面的代碼:
bool BSTree::Retrieve(int ID, Account *&acct, Node *leaf)
{
if(leaf != NULL)
{
if(ID == leaf->pAcct->getID())
{
acct = leaf->pAcct;
return true;
}
if(ID < leaf->pAcct->getID())
{
return Retrieve(ID, acct, leaf->left);
}
else
{
return Retrieve(ID, acct, leaf->right);
}
}
else
{
acct = NULL;
return false;
}
}
bool BSTree::Retrieve(int ID, Account *&acct) const
{
return Retrieve(ID, acct, root);
}
[在C++中傳遞指針的引用](http://stackoverflow.com/questions/823426/passing-references-to-pointers-in-c) – 2015-02-11 15:13:23