私は、必要に応じて「生徒の記録」を読み取り、データに基づいて 4 つの二分探索木に分割するプログラムを作成しています。ノードを削除しようとしていますが、実際に削除するのではなく、基本的に「削除」されたことを知らせるフラグを構造体内に設定したいと考えています。これは私のコードで、いくつかのエラーが発生しています:
void deleteNode( TreeNodePtr *treePtr, SREC R, unsigned long key)/*ADD HOW*/
{
printf("I got into the delete function.\n");
/*empty*/
if(*treePtr != NULL)
{
if(R.SID<(*treePtr)->SID)/*Not empty*/
{
printf("less than\n");
deleteNode((*treePtr)->leftPtr, R, key);
}
else if(R.SID>(*treePtr)->SID)
{
printf("more than.\n");
deleteNode((*treePtr)->rightPtr, R, key);
}
else
{
treePtr->exists = 1;
printf("Are we deleted yet?\n");
}
}
else
{
fprintf(stderr,"Could not locate student with ID.\n");
}
}
エラーは次のとおりです: 注: 'struct treeNode **' が予期されますが、引数の型は 'struct treeNode *' です エラー: 'struct treeNode' には 'SID' という名前のメンバーがありません。ちょっとしたことを見逃しているだけだと確信していますが、それが何であるかはわかりません。何か案は?