整数和指针之间的Zip比较

时间:2017-04-20 01:39:53

标签: c++

我正在编写代码来比较一个zipcode整数输入(ZNode object *n)和输入z的zipcode。比较它们时,我一直收到ZNode nZNode AVLTree::*findZip(int z, ZNode *n){ if(z==n->zip || n==NULL){ return(n); } else if(z < n->zip){ findZip(z, n->left); } else if(z > n->zip){ findZip(z, n->right); } } 之间的比较错误。如何比较整数和指针?

{{1}}

1 个答案:

答案 0 :(得分:0)

请参阅下面的修正和评论

ZNode AVLTree::findZip(int z, ZNode *n){ // ::findZip - No *

    if(n==NULL || z==n->zip){ // Need to check for NULL first - perhaps nullptr
        return(n);
    }
    else if(z < n->zip){
        return findZip(z, n->left); // You need to return an answer!
    }
    else { // Just do findZip for the right or equals - for equals the above will match
        return findZip(z, n->right); // Again return an answer
    }
}

PS。可能最好不要使用递归。递归往往会在大树上破裂。