プロが教える店舗&オフィスのセキュリティ対策術

Cについて勉強中の一回生です
今回初めてポインタ型の関数を作ったのですが
コンパイルができません
エラー内容は

warning: assignment makes pointer from integer without a cast
warning: assignment makes pointer from integer without a cast

でした。

型があってないっぽいのですがどうしてできないのですか?

struct node {
int key;
struct node *parent,*left,*right;
};

struct node *memvber_recursive(int key,struct node *root){

struct node *x;

if(root->key == 0){
printf("ありません\n",root->key);

return NULL;
}

else if(root->key == key)
printf("あります\n",root->key);

else if(root->key > key)
x = member_recursive(key,root->left);

else
x = member_recursive(key,root->right);

return x;
}

課題の内容は再帰を使った二分木の探索です

引数は、探索する要素の値(キー)と2分探索木の根のポインタ
戻り値は要素が見つかればその点を示すポインタを、見つからなければNULLを返します

あと関数の前にアスタリスクがつく意味がわかりません
ポインタを返すと言う意味ですか?
先生が例文として与えてくれたのですが
こんな形は教科書にのっておらず困っています
よかったら教えて下さい

宜しくお願いします。

A 回答 (1件)

×struct node *memvber_recursive(int key,struct node *root)


◎struct node *member_recursive(int key, struct node *root)
関数がないので、int型を返す関数として仮定している。
よって、intからstruct node*型にキャストしていないと怒られる。
    • good
    • 0
この回答へのお礼

うわぉっ!
まさかのタイプミス?
申し訳ありません

早速明日学校でなおしてみます

お礼日時:2006/01/12 01:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!