#include<stdio.h>
#include<stdlib.h>
typedef struct //create a pointer structure
{
int data;
struct node *left;
struct node *right;
} node;
node *insert(node *root, int x);
//Insert Function
node *insert(node *root, int x) //Line 53
{
if(!root)
{
root = new_node(x);
return root;
}
if (root->data > x)
{
root->left = insert(root->left, x); //Line 63
}
else
{
root->right = insert(root->right, x); // Line 68
}
return root;
}
I get the following errors while compiling:
: In function ‘insert’:
:63:3: warning: passing argument 1 of ‘insert’ from incompatible pointer type [enabled by default]
:53:7: note: expected ‘struct node *’ but argument is of type ‘struct node *’
:63:14: warning: assignment from incompatible pointer type [enabled by default]
:68:3: warning: passing argument 1 of ‘insert’ from incompatible pointer type [enabled by default]
:53:7: note: expected ‘struct node *’ but argument is of type ‘struct node *’
:68:15: warning: assignment from incompatible pointer type [enabled by default]
- Why is the 1st argument in my insert function incompatible with what I am passing into it?
- How do you assign a pointer to a 'struct pointer'?