Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di giudf
    Registrato dal
    Jun 2006
    Messaggi
    162

    Errore in fase di compilazione

    Ragazzi, questo è un semplice programma che prende gli elementi di un albero e li ficca in una lista, sono 3 righe, ma al mio gcc di Fedora 5 gli sta sul cacchio e non me lo compila, il perchè? Prorpio non lo so spero che qualcuno di voi sappia dirmelo.

    Codice:

    codice:
    #include "libreriaMia.h"
     
    void MettiAlberoInLista(TREENODEPTR t , LISTNODEPTR *(l)){
      if(!t)
        return;
      else{
        MettiAlberoInLista(t->leftPtr,&(*(l)));
        InsertInLista(&(*(l)),t->data);
        MettiAlberoInLista(t->rightPtr,&(*(l)));
        return;
      }
    }
    Questo è l'errore che mi da...

    listfunc.c:3: error: expected ")" before t

    ...che strano

    Se può aiutarvi a capire, questa è la definizione dell'albero:
    codice:
    struct treeNode{
        struct treeNode *leftPtr;
        int data;
        struct treeNode *rightPtr;
    };
    
    typedef struct treeNode TREENODE;
    typedef TREENODE *TREENODEPTR;
    e questa è la lista:

    codice:
    struct listnode {
      int data;
      struct listnode *nextPtr;
    };
    
    typedef struct listnode LISTNODE;
    typedef LISTNODE *LISTNODEPTR;
    Spero qualcuno di voi riesca a dirmi che caxxo di errore ho fatto !!!

  2. #2
    Credo che nell'intestazione della funzione, dove dichiari i parametri
    TREENODEPTR t, LISTNODEPTR *(l)
    devi passare la variabile t di tipo puntatore all'albero, cioè:

    codice:
    void MettiAlberoInLista(TREENODEPTR *t , LISTNODEPTR *l) {
    e quando richiami questa funzione nel main, devi scrivere:

    codice:
    MettiAlberoInLista(&t, &l);

  3. #3
    Utente di HTML.it L'avatar di giudf
    Registrato dal
    Jun 2006
    Messaggi
    162
    No, quello già è un puntatore tramite una typedef, cmq ti ringrazio, il problema sono riuscito a risolverlo, era nell'inclusione dei file (in realtà il codice era corretto)

    TNX

  4. #4
    Scusami hai ragione.

    Non avevo visto i typedef.

    Che figura!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.