Ma ToDouble() non restituisce un puntatore ad un array di double ma un semplice double
Ma ToDouble() non restituisce un puntatore ad un array di double ma un semplice double
No MP tecnici (non rispondo nemmeno!), usa il forum.
Stai facendo confusione ... array[i] è un elemento dell'array non tutto l'array.
Esegui la setArray(array)
quando hai a disposizione l'array, alla fine della for. E occhio che quell'array non sia locale altrimenti non puoi utilizzare il relativo puntatore.
Ultima modifica di oregon; 19-07-2016 a 11:44
No MP tecnici (non rispondo nemmeno!), usa il forum.
Ho risolto cosi:
impoArray prende in input il valore double e l indice di dove inserirlo...
e cosi:codice:for() { AnsiString s=Memo->Lines->Strings[i]; poligoni[cont].impoArray(s.ToDouble(),i); }
codice:double *ll= poligoni[cont].getArray(); for ... Memo->Lines->Add(ll[i]);
Ultima modifica di user1989; 19-07-2016 a 12:03
codice:class Poligono { public: .... double * getArray(){ return array;} void setArray(double * a) { if(array) free(array); array=(double*) calloc (numLati,sizeof(double)); memcpy(array,a,numLati*sizeof(double)); } void impostaLati(double a , int i) { if(!array) array=(double*) calloc (numLati,sizeof(double)); array[i]=a; } .... };
Ultima modifica di user1989; 19-07-2016 a 12:48
Ricordati di mettere a NULL il puntatore nel costruttore altrimenti potresti avere problemi ... e libera la memoria allocata se non serve più ...
No MP tecnici (non rispondo nemmeno!), usa il forum.