sizeof(Points) in questo caso e` equivalente a sizeof(struct DPoint *); ovvero alla dimensione di un puntatore.Originariamente inviato da SDB
ho una serie di warning dello stesso tipo ma non so a cosa sono dovuti:
oppure:codice:if (sizeof(Points) == 1)
dove Points č :codice:if (!sizeof(Points))
codice:struct DPoint *Points; Points=(struct DPoint *) malloc(sizeof(struct DPoint)*10000);
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.
Occhio: questo quotato restituisce la dimensione del contenitore, mentre prima si testava la dimensione del puntatore. Ovviamente non e` la stessa cosa.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) .. ..