insert(char * key, struct node *leaf, int x)
{
if (x==1) //Customer
{
if( strcmp(leaf->customer.IDNo,root->customer.IDNo)==0 )
{
*leaf = (struct node) malloc(101);
*leaf->customer.IDNo = key;
/* initialize the children to null */
(*leaf)->left = 0;
(*leaf)->right = 0;
}
else if(strcmp(key,(*leaf)->customer.IDNo)<0)
{
insert( key, &(*leaf)->left );
}
else if(strcmp(key,(*leaf)->customer.IDNo)>0)
{
insert( key, &(*leaf)->right );
}
}
else //Product
{
if( strcmp(leaf->product.ProdName,root->product.ProdName)==0 )
{
*leaf = (struct node) malloc(101);
(*leaf)->product.ProdName = key;
/* initialize the children to null */
(*leaf)->left = 0;
(*leaf)->right = 0;
}
else if(strcmp(key,(*leaf)->product.ProdName)<0)
{
insert( key, &(*leaf)->left );
}
else if(strcmp(key,(*leaf)->product.ProdName)>0)
{
insert( key, &(*leaf)->right );
}
}
}
45,64 非スカラー型要求への変換 46 割り当ては、キャストなしでポインターから整数を作成します 48,49,51,53,55,57,65,67,68,70,72,74,76 - の無効な型引数> (構造体ノードを持っている) 53,57,72,76 関数「挿入」への引数が少なすぎます
Node *search(char * key, struct node *leaf,int x)
{
struct node * y;
if (x==1)
{
if( leaf != 0 )
{
if(strcmp(key,leaf->customer.IDNo)==0)
{
y= leaf;
}
else if(strcmp(key,leaf->customer.IDNo)<0)
{
y= search(key, leaf->left);
}
else
{
y= search(key, leaf->right);
}
}
}
else if (x==2)
{
if( leaf != 0 )
{
if(strcmp(key,leaf->product.ProdName)==0)
{
y= leaf;
}
else if(strcmp(key,leaf->product.ProdName)<0)
{
y= search(key, leaf->left);
}
else
{
y= search(key, leaf->right);
}
}
}
else y= 0;
return y;
}
94,98,112 関数 'search' への引数が少なすぎます
複数の行で発生するエラーは似ているため、そのうちの 1 つを修正する方法を説明するだけで、残りは実行できます。