|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 284
|
[C] Problemi funzioni in lista generica
ho un problema nella prima parte. la funzione addElement ha come argomento la lista e ritorna un int.
Codice:
typedef struct {
/** la testa della lista */
elem_t * head;
/** la funzione per confrontare due chiavi */
int (* compare) (void *, void *);
/** la funzione per copiare una chiave */
void * (* copyk) (void *);
/** la funzione per copiare un payload*/
void * (* copyp) (void *);
} list_t;
int add_ListElement(list_t * t,void * key, void* payload){
elem_t* p;
elem_t* new;
/* Crea il nuovo elemento*/
new = (elem_t*)malloc(sizeof( elem_t));
if (new == NULL){ return -1;} /* ritorna -1 se malloc fallisce*/
/*new->key = t->copyk(key);
new->payload = t->copyp(payload);*/
/* Scorre la lista per vedere se l'elemento è già presente*/
/*for (p = t->head; p !=NULL; p = p->next){
if (t->compare(p->key,key)==0){ return -1;}
}*/
new->next = t->head;
t->head = new;
return 0;
}
Cioè sembra che mi possa usare solo una volta una delle funzioni puntate dentro la struct. Se provo a eseguirne una di esse un'altra volta da segfault WTF |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Quote:
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 284
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
a ok nn avevo letto bene la struct
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:47.




















