PDA

View Full Version : struct non riconosciuta [C]


lodoss08
30-07-2008, 20:22
Sto lavorando ad un progetto su Linux, ma ho un problema. Quando faccio make mi segnala questo errore:
error: expected specifier-qualifier-list before ‘peer’


peer è una struct dichiarata in un file peer.h

struct peer
{
...
};
typedef struct peer peer;

e l'ho usata in altri file del progetto senza problemi includendo il file

adesso in peer.h ho incluso un file per chiamare una funzione ed usare delle struct. In questo file ho incluso a sua volta peer.h e dichiarato

struct pingPayload
{
peer *localPeer; //potrebbe non servire!!!!!!!!!!!!!
};
typedef struct pingPayload pingPayload;


ma con make segnala errore proprio in corrispondenza della riga peer *localPeer...
Qualcuno ha idea di dove sia l'errore?

lodoss08
31-07-2008, 08:31
forse è l'ora che è tarda e io non capisco... ma in peer.h hai reincluso un file che include peer.h??:confused:

perchè tuttto questo casino di inclusioni? inoltre molto probabilmente i tuoi header non sono protetti dalle inclusioni multiple, giusto?:mbe:

in peer.h ho incluso un file per usare le struct in esso definite, e in quest'altro file ho incluso peer.h per usare la struct peer!
per la protezione dalle inclusioni multiple non so nemmeno cosa sia! per cui potrebbe anche essere quello il problema! in cosa consiste?

lodoss08
31-07-2008, 08:53
se ti riferisci alle #ifndef #define #endif sono in ogni header...