Originariamente inviato da SDB
ho una serie di warning dello stesso tipo ma non so a cosa sono dovuti:
codice:
if (sizeof(Points) == 1)
oppure:
codice:
if (!sizeof(Points))
dove Points č :
codice:
struct DPoint *Points;
Points=(struct DPoint *) malloc(sizeof(struct DPoint)*10000);
sizeof(Points) in questo caso e` equivalente a sizeof(struct DPoint *); ovvero alla dimensione di un puntatore.
E questa dimensione, sulla piattaforma in esame (windows?) e` diversa da 1 (quindi un puntatore occupa piu` di un byte in memoria), quasi sicuramente maggiore. Da qui la condizione succitata sempre falsa.
PSreciso che sto cercando di convertire un codice da C++ a C e che originariamente il codice C++ era:
codice:
If (!Points.size()) .. ..
oppure :
If (Points.size() == 1) .. ..
Occhio: questo quotato restituisce la dimensione del contenitore, mentre prima si testava la dimensione del puntatore. Ovviamente non e` la stessa cosa.