[C] Passaggio funzione [RISOLTO]
Inviato: sab 21 ago 2010, 19:50
Sto usando un ADT di liste
dal main passo una funziona così
dove le comp_by_name e comp_by_mark vengono passate alle operazioni della lista in questo modo
solo che al momento del passaggio alla funzione reale, definita nel file contenente il "tipo di dato", mi da un segfault
metto l'archivio con tutti i file qui sotto
è un progetto codeblocks, quindi chi lo usa e vuole darmi una mano ha già tutto "impaginato"
grazie a tutti
dal main passo una funziona così
Codice: Seleziona tutto
if (!list_insert ((*lpN), tmpDat, comp_by_name))
{
fclose(fp);
return FAILURE;
}
if (!list_insert ((*lpV), tmpDat, comp_by_mark))
{
fclose(fp);
return FAILURE;
}
Codice: Seleziona tutto
int list_insert(list_t *lp, data_t *tmpDat, int (comp_function)(data_t *, data_t *))
{
node_t *node, *n_prev, *n_next;
if (lp == NULL)
return LIST_ERROR;
node=alloc(tmpDat);
if ((comp_function(node->value, lp->head->value)) < 0)/*head insertion*/
{
node->next=lp->head;
lp->head=node;
lp->elem_num++;
return LIST_SUCCESS;
}
n_prev=lp->head;
n_next=n_prev->next;
while ((n_next != NULL) && (comp_function(n_next->value, node->value) < 0))/*body-bottom insertion*/
{
n_prev=n_next;
n_next=n_prev->next;
}
n_prev->next=node;
node->next=n_next;
lp->elem_num++;
return LIST_SUCCESS;
}
metto l'archivio con tutti i file qui sotto
è un progetto codeblocks, quindi chi lo usa e vuole darmi una mano ha già tutto "impaginato"
grazie a tutti