PDA

Visualizza la versione completa : [c] problemi con la definizione di struct


nik600
30-01-2005, 14:54
ciao a tutti

sto definiendo delle struct in c (di solito uso c++) ma non ci riesco! dove sbaglio?




struct Image{

unsigned long sizeX;//larghezza in pixel dell'immagine
unsigned long sizeY;//altezza in pixel dell'immagine
char *data;//contenuto dell'immagine

};


struct Colore{

short int r;//componente rossa da 0 a 255
short int g;//componente verde da 0 a 255
short int b;//componente blu da 0 a 255

};


struct Pixel{

int x;
int y;
Colore c;//colore del pixel
bool stato;//serve per capire quando creerò le isoipse se il pixel è gia stato utilizzato
};


errore:



nik600@criminal:/mnt/win/universita/algoritmi_strutture/progetto/mg$ make
gcc -c src/mg.c
In file included from src/mg.c:1:
src/funzioni.h:31: error: parse error before "Colore"
src/funzioni.h:31: warning: no semicolon at end of struct or union
src/funzioni.h:32: warning: data definition has no type or storage class
make: *** [mg.o] Error 1



non capisco! :master:

netarrow
30-01-2005, 15:48
quando dichiari la struttura metti davanti struct:



struct Nome n;


In C++ questo non occorre.
Volendo, per nn scrivere ongi volta struct, usa typedef.

edit: ah! sennò attendo che il C in teoria non supporta il commento su riga singola, anche se alcuni compilatori l'hanno aggiunto cmq

:ciauz:

nik600
30-01-2005, 15:53
grazie!

inoltre ho visto che anche il tipo bool non esiste!

forse devo aggiungere qualche libreria?

grazie nik

netarrow
30-01-2005, 16:01
Originariamente inviato da nik600
grazie!

inoltre ho visto che anche il tipo bool non esiste!

forse devo aggiungere qualche libreria?

grazie nik

per il tipo bool in C usi un int, se vale 0 è vero, se vale qualsiasi numero diverso da 0 è falso.

:ciauz:

infinitejustice
30-01-2005, 17:01
Originariamente inviato da netarrow
per il tipo bool in C usi un int, se vale 0 è vero, se vale qualsiasi numero diverso da 0 è falso.

L'opposto :fighet: :zizi:

nik600
30-01-2005, 17:16
infatti ho proprio fatto cosi!

ciao

netarrow
30-01-2005, 18:16
Originariamente inviato da infinitejustice
L'opposto :fighet: :zizi:

lol, chiedo scusa sono abituato con Java e C++ dove uso solo valori booleani :D

Loading