のメンバーのための要求「****」私はリンクリストを形成するために、ポインタを使用して2つの構造体を持っています。エラー:何かない構造体または共用
typedef struct {
char *text;
int count;
} *Item;
typedef struct node {
Item item;
struct node *next;
} *link;
私はこのタイプの上で一連の操作を作成しようとしていますが、私はこの特定の機能に多くの問題があります。
error: request for member ‘text’ in something not a structure or union strcpy(new->item->text, buffer->text);
error: request for member ‘text’ in something not a structure or union new->item->text = (char*) malloc(sizeof(char)*(strlen(buffer->text)+1));
基本的にエラーがbuffer->テキストパス上にあるが、私は過去の時間のためにそれをいじりされてきたし、それで間違っているものを見つけるように見えることはできません。私はおそらく明白な何かを欠いているだろうが、私はそれのまわりで私の耳を巻き戻すことができない。
link new_item(Item* buffer) {
link new = (link) malloc(sizeof(struct node));
new->item->text = (char*) malloc(sizeof(char)*(strlen(buffer->text)+1));
strcpy(new->item->text, buffer->text);
new->item->count = 1;
new->next = NULL;
return new;
}
メッセージは時々あなたが '' .'どこ使っている意味 - > '使用、またはその逆する必要があります。あるいは、参照のLHSが構造体へのポインタでも構造体へのポインタでもないことを意味します。それがあなたの問題です。参照してください[それはポインタをtypedefすることをお勧めしますか?](http://stackoverflow.com/questions/750178/is-it-a-good-ide-to-typedef-pointers) - 答えは "No"です。このような問題。変数 'buffer'は構造体へのポインタへのポインタです。 '(* buffer) - > text'などを使う必要があります。あるいは、関数を' link new_item(Item buffer) 'に変更する必要があります。 –