Operazioni con liste in C

di il
2 risposte

Operazioni con liste in C

Perchè mi da errore sulla chiamata delle 2 funzioni?
L'errore è

[Linker error] undefined reference to `ProduciValoreIniziale'
[Linker error] undefined reference to `ListaVuota'
  #include <stdio.h>
#include <stdlib.h>

typedef enum{TRUE,FALSE} boolean;

struct EL {
         int Info;
         struct EL *prox;
         };
         
  typedef struct EL ElemLista;
  typedef ElemLista *ListaDiElem;

ListaDiElem ProduciValoreIniziale (); //funzione inizializza lista
boolean ListaVuota(ListaDiElem Lista); //funzione per controllo lista vuota

int main(int argc, char *argv[])
{
   
  ListaDiElem Lista1; //definizione variabili di tipo lista
  Lista1=ProduciValoreIniziale(); //Inizializzazione lista1
  
  
  if (ListaVuota(Lista1)==TRUE){
                                printf("La lista e' vuota");
                                }else{
                                      printf("la lista non e' vuota");
  
  
  
  
  system("PAUSE");	
  return 0;
}

ListaDiElem ProduciValoreIniziale() {
            return NULL;
}

boolean ListaVuota(ListaDiElem Lista){
        if(Lista==NULL) 
        return TRUE;
        else
        return FALSE;
}}

2 Risposte

  • Re: Operazioni con liste in C

    Controlla le parentesi graffe. C'è ne una in meno su main e una in più su ListaVuota.
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef enum{TRUE,FALSE} boolean;
    
    struct EL {
             int Info;
             struct EL *prox;
             };
             
      typedef struct EL ElemLista;
      typedef ElemLista *ListaDiElem;
    
    ListaDiElem ProduciValoreIniziale (); //funzione inizializza lista
    boolean ListaVuota(ListaDiElem Lista); //funzione per controllo lista vuota
    
    int main(int argc, char *argv[])
    {
       
      ListaDiElem Lista1; //definizione variabili di tipo lista
      Lista1=ProduciValoreIniziale(); //Inizializzazione lista1
     
     
    	if (ListaVuota(Lista1)==TRUE){
    		printf("La lista e' vuota");
    	}
    	else{
    		printf("la lista non e' vuota");
    	}
     
     
      system("PAUSE");   
      return 0;
    }
    
    ListaDiElem ProduciValoreIniziale() {
                return NULL;
    }
    
    boolean ListaVuota(ListaDiElem Lista){
            if(Lista==NULL)
            return TRUE;
            else
            return FALSE;
    }
  • Re: Operazioni con liste in C

    Giusto....grazie 10000
Devi accedere o registrarti per scrivere nel forum
2 risposte