Incompitable pointer--- Warnung

#1
Bekomme eine Warnung in Bash, die ich nicht weg bekomme. Wäre nett wenn mir jemand helfen kann. Danke
C:
bst_node* find_node(bstree* bst, unsigned long phone)
{
    bst_node* tmp = bst->root;
    if(bst_r == NULL || phone == tmp->phone) {
        return tmp;
    }
    if(phone < tmp->phone) {
        return(find_node(tmp->left, phone));
    }
    else {
        return(find_node(tmp->right, phone));
    }
Die Warnung in Bash:
Bash:
introprog_telefonbuch.c:68:26: warning: incompatible pointer types passing 'bst_node *' (aka 'struct bst_node *') to parameter of type 'bstree *' (aka 'struct bstree *')
      [-Wincompatible-pointer-types]
        return(find_node(tmp->left, phone));
                         ^~~~~~~~~~~
introprog_telefonbuch.c:61:29: note: passing argument to parameter 'bst' here
bst_node* find_node(bstree* bst, unsigned long phone)
                            ^
introprog_telefonbuch.c:71:26: warning: incompatible pointer types passing 'bst_node *' (aka 'struct bst_node *') to parameter of type 'bstree *' (aka 'struct bstree *')
      [-Wincompatible-pointer-types]
        return(find_node(tmp->right, phone));
                         ^~~~~~~~~~~~
introprog_telefonbuch.c:61:29: note: passing argument to parameter 'bst' here
bst_node* find_node(bstree* bst, unsigned long phone)
                            ^
2 warnings generated.
 

German

Well-Known Member
c-b Experte
#2
Was verstehst du an den Warnungen nicht? Du versuchst einen Pointer auf bst_node an eine Funktion zu übergeben, die einen Pointer auf bstree erwartet. Wird also nicht funktionieren.
 
Oben