Δημοσιεύτηκε: 21 Ιούλ 2011, 22:59
Δεν ξέρω αν είναι σωστό το παρακάτω αλλά μου βγάζει κάτι errors και δεν ξέρω γιατί.
Ο κώδικας είναι:
και τα errors:
Αφού είναι pointer το list και το περνώ by reference γιατί βαράει αυτός ο compiler!
Ο κώδικας είναι:
- Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
struct node *next;
int value;
}Node;
typedef struct list
{
Node *head,*tail;
int len;
}List;
int terminator(List *list,int value)
{
Node *dummy,*bdummy;
dummy = (*list).head;
if((*list)->head->value == value)
{
dummy = (*list)->head->next;
free(dummy);
list->head = dummy;
}else
{
bdummy = (*list)->head;
dummy = (*list)->head->next;
while(dummy->next != NULL)
{
if(dummy->value == value)
{
if(dummy!=(*list)->tail)
{
bdummy->next = dummy->next;
free(dummy);
}else
{
tail = bdummy;
free(dummy);
}
}
}
}
return 0;
}
και τα errors:
- Κώδικας: Επιλογή όλων
delete_node_with_value_x.c: In function ‘terminator’:
delete_node_with_value_x.c:21:12: error: invalid type argument of ‘->’ (have ‘List’)
delete_node_with_value_x.c:23:18: error: invalid type argument of ‘->’ (have ‘List’)
delete_node_with_value_x.c:28:19: error: invalid type argument of ‘->’ (have ‘List’)
delete_node_with_value_x.c:29:19: error: invalid type argument of ‘->’ (have ‘List’)
delete_node_with_value_x.c:34:22: error: invalid type argument of ‘->’ (have ‘List’)
delete_node_with_value_x.c:40:6: error: ‘tail’ undeclared (first use in this function)
delete_node_with_value_x.c:40:6: note: each undeclared identifier is reported only once for each function it appears in
Αφού είναι pointer το list και το περνώ by reference γιατί βαράει αυτός ο compiler!