Δημοσιεύτηκε: 08 Ιούλ 2011, 18:32
Περιττά δεν είναι τα free(), αλλά το if-else που κάνεις για το head μετά τα free(). Και μάλιστα το if-else δεν είναι μόνο περιττό αλλά ανάλογα τον compiler μπορεί να σου δημιουργήσει και γενικότερο πρόβλημα, γιατί συγκρίνεις με το NULL έναν δείκτη που δείχνει σε κάτι UNDEFINED!
Όσο για το warning, το implicit declaration συνήθως σημαίνει πως κάπου χρησιμοποιείς τη list_print() πριν την δηλώσεις. Για να χρησιμοποιήσεις μια συνάρτηση πρέπει πρώτα να γράψεις τον κώδικά της και μετά να την καλέσεις ή έστω να υπάρχει κάπου γραμμένο το πρότυπό της πριν την καλεσεις.
Το conflicting types συνήθως σημαίνει πως την έχεις διπλοδηλώμένη την list_print, το οποίο συνήθως σημαίνει με τη σειρά του πως σε μια από τις 2 δηλώσεις την έχεις δηλώσει με διαφορετικά ορίσματα.
Όσο για το warning, το implicit declaration συνήθως σημαίνει πως κάπου χρησιμοποιείς τη list_print() πριν την δηλώσεις. Για να χρησιμοποιήσεις μια συνάρτηση πρέπει πρώτα να γράψεις τον κώδικά της και μετά να την καλέσεις ή έστω να υπάρχει κάπου γραμμένο το πρότυπό της πριν την καλεσεις.
Το conflicting types συνήθως σημαίνει πως την έχεις διπλοδηλώμένη την list_print, το οποίο συνήθως σημαίνει με τη σειρά του πως σε μια από τις 2 δηλώσεις την έχεις δηλώσει με διαφορετικά ορίσματα.