#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;
}
编译时出现以下错误:
:在函数“插入”中:
:63:3: 警告:从不兼容的指针类型传递“插入”的参数 1 [默认启用]
:53:7: 注意:预期的 'struct node *' 但参数的类型是 'struct node *'</p>
:63:14: 警告:来自不兼容指针类型的赋值 [默认启用]
:68:3: 警告:从不兼容的指针类型传递“插入”的参数 1 [默认启用]
:53:7: 注意:预期的 'struct node *' 但参数的类型是 'struct node *'</p>
:68:15: 警告:来自不兼容指针类型的赋值 [默认启用]
- 为什么我的插入函数中的第一个参数与我传递给它的参数不兼容?
- 如何将指针分配给“结构指针”?