Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

fissare un warning di assegnazione

0 views
Skip to first unread message

cloc3

unread,
Jul 4, 2008, 1:54:10 AM7/4/08
to
non riesco a capire bene la causa di un warning in una istruzione di
assegnazione.
il problema è minimale, in quanto il programma funziona lo stesso, ma
vorrei arrivare a dove sbaglio.

intanto, ho un vettore i cui elementi appartengono a un particoalre
tipo interno:

IdStruct vIdStruct[] = {
{...},
{...}
};

mi serve associre questo vettore ad un puntatore, in questo modo:

IdStruct (*vIdPtr)[] = &vIdStruct;

fin qui tutto bene.
ma poi voglio mettere vIdPtr dentro una ulteriore struttura:

typdef struct _ItemInfo ItemInfo
struct _ItemInfo {
IdStruct (*vIdPtr)[];
...
};

detto root un puntatore ad una struttura di tipo ItemInfo, ho scritto
questa istruzione che mi dà il warning:

root->vIdPtr = &vIdStruct;

l'errore è:

parser.c:1965: warning: assignment from incompatible pointer type

per quanto ci pensi, non riesco a cogliere la differenza che passa tra
il puntatore isolato (che non dà il warning) e quello definito dentro
root.

cloc3

unread,
Jul 4, 2008, 11:26:52 AM7/4/08
to
sembra che, quando il vettore è inserito all'interno della struttura,
il compilatore ne richieda la dimensione esatta.

siccome la cosa mi secca, sto cercando il modo di utilizzare,
piuttosto che un puntatore al vettore, un puntatore ai singoli
elementi del vettore stesso.
credo che alla fine il codice riuscirà anche più leggero.

0 new messages