Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    80

    field has incomplete type

    Salve,
    ho questo pezzo di codice in un file header structures.h per un file c:
    codice:
    struct server{
    
    	struct server *next;    /*puntatore al server successivo*/
    	int port;		       /*porta del server*/
    	struct in_addr addr;	/*indirizzo del server*/
    	
    };

    nel momento in cui vado a compilare, ottengo questo errore:

    codice:
    structures.h:18:17: error: field ‘addr’ has incomplete type
    non riesco a capire qual'è il problema..qualcuno può aiutarmi?

  2. #2
    Penso sia necessario usare:
    codice:
    struct sockaddr_in {
        short            sin_family;   // e.g. AF_INET, AF_INET6
        unsigned short   sin_port;     // e.g. htons(3490)
        struct in_addr   sin_addr;     // see struct in_addr, below
        char             sin_zero[8];  // zero this if you want to
    };
    in_addr è semplicemente un'intero:
    codice:
    struct in_addr {
        unsigned long s_addr;          // load with inet_pton()
    };
    Però dovresti specificare ché istruzione ti d'ha l'errore, nella riga 18 del file structures.h. O meglio ancora mostrare il codice!
    Dante

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    My2cents: secondo me manca semplicemente all'inizio del file structures.h:

    #include <netinet/in.h>

    Ciao.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    80
    codice:
    #ifndef structures_h
    #define structures_h
    
    
    struct server{
    	struct server *next; /*puntatore al server successivo*/
    	int port;		/*porta del server*/
    	struct in_addr addr; 	/*indirizzo del server*/
    	int id;			/*id del server*/
    	int c;			/* numero client connessi al server*/
    	int c_max;		/*numero client max supportati dal server*/
    	unsigned long tx, rx;	/* bytes mandati, ricevuti */
    	unsigned int down;	/*downtime counter*/
    };
    
    /*altre strutture*/
    
    #endif

    la riga 18 coincide proprio con quella di colore blu..

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Subito dopo:

    #ifndef structures_h
    #define structures_h

    aggiungi:
    #include <netinet/in.h>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    80
    ok, adesso non dà più errore...ma nella compilazione ora mi dà questi

    gcc: error: structures-config: No such file or directory
    gcc: error: unrecognized option ‘--libs’

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Questo è un altro problema, forse dovevi aprire una nuova discussione.
    Che sistema di compilazione usi? Makefile scritti a mano? autotools?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    80
    utilizzo netbeans ide su linux..compilo direttamente con questo!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    È meglio che apri una nuova discussione, questa ha come titolo "field has incomplete type", se uno poi ricerca per titolo nel forum trova cosa diverse da quelle che stava cercando. Anche il regolamento lo dice.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    80
    va bene...intanto grazie per aver risolto l'altro problema!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.