![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_06.png?8acaa2e)
至急お願いします!
c言語についてです。このエラーをなくすにはどうすればいいでしょうか?
(の前に何かを入力する必要があるんでしょうか?
よろしくお願いします!
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#define FAILED -1
typedef struct NODE{
char name[20];//名前
char tellnumber[20];//電話番号
struct NODE *left;//左
struct NODE *right;//右
} NODE;
NODE add(NODE *p, char n[], char t[])
{
if (p == NULL){//NULLの時
p = (NODE *)malloc(sizeof(NODE));//メモリ確保
strcpy(p->name, n);//名前を格納.
strcpy(p->tellnumber, t);//電話番号を格納
p->left = p->right = NULL;
}
else if(strcmp(n,p->name) < 0)
(p->(*left))=add(p,n,t);//左へ.
else if(strcmp(n,p->name) > 0)
(p->(*right))=add(p,n,t);//右へ.
else printf("同姓同名のデータは登録できません。\n");
return *p;
}
エラー文
関数 ‘add内
23:9: エラー: expected identifier before ‘(’ token
(p->(*left))=add(p,n,t);//左へ.
^
25:9: エラー: expected identifier before ‘(’ token
(p->(*right))=add(p,n,t);//右へ.
No.2
- 回答日時:
泣くほど苦労したいなら add の返す型は変えなくてもいいかもしれないけど, そこまで「ドM」でない人は変えるべきだと思う.
で変えるなら当然「関数 add の返す型」は変更しないとダメだけど, それだけでもないからね. add の返す型だけ変更して他の部分に一切手を付けなかったら依然としてエラーは出続けるよ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
コンパイルできません。
-
Arduinoに関する質問
-
入れ子になっている構造体配列...
-
graph.hのヘッダーファイルの中...
-
VBScriptのエラーの見つけ方及...
-
C2146を回避するにはどうしたら...
-
sys/time.hのインクルードがで...
-
Visual Studioのstrcpy_sについて
-
Atmel Studioでdelay関数でエラー
-
LINK : fatal error LNK1104: ...
-
エラー 'iostream.h' : No su...
-
C++のコンパイラーでエラー原因...
-
c言語のエラー文
-
Excelのエラーで困ってます。
-
アプリケーションのDLLファイル...
-
lhafileをインストールしたい
-
<math.h>があるのにsqrtが・...
-
<unistd.h>をVisualStudioでつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
Excelのエラーで困ってます。
-
Handlesについて
-
HEWを使用しているのですが、こ...
-
バッチからsqlplusの接続エラー...
-
デバッグ中のエラーのことで教...
-
VB2008で定数に色の設定をした...
-
コンパイルできません。
-
sys/time.hのインクルードがで...
-
multiple definitionというエラー
-
HANDLEの宣言でのエラー
-
BC30002: 型 'ListItem' が定義...
-
visual C++ でビルドの中止がで...
-
RightとLeft関数のライブ...
-
ビルド失敗 指定されたファイ...
-
Visual Studioのstrcpy_sについて
-
エクセルでマクロを実行すると...
おすすめ情報
addの返す型を変えようとしてます。
具体的には返す型と他の部分の修正はどのようにすればいいでしょうか?
お願いします。考えましたがわかりません。
struct NODE *add(NODE *p, char n[], char t[])
{
if (p == NULL){//NULLの時
p = (NODE *)malloc(sizeof(NODE));//メモリ確保
strcpy(p->name, n);//名前を格納.
strcpy(p->tellnumber, t);//電話番号を格納
p->left = p->right = NULL;
}
else if(strcmp(n,p->name)<0)
(p->left)=add(p->left,n,t); //左へ
else if(strcmp(n,p->name)>0)
(p->right)=add(p->right,n,t); //右へ
else printf("同姓同名のデータは登録できません。\n");
return p;
}
こんな感じで変更してみたら一応コンパイルは出来たのですがいいんですかね?