Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84

    [c++] get e set array di double

    Salve

    Ho un array di double dichiarato private, di conseguenza per poterlo usare dovrei implementare dei metodi get e set.

    codice:
    class MiaClasse
    {
    private:
    ...
    double * array;
    
    public:
    
    double * getArray(){ return array;}
    void *setArray(double *a){ array=a;}
    Ho qualche dubbio a riguardo, infatti quando vado ad utilizzarle mi da errore...
    Chi mi da un suggerimento?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Perché

    void *

    ??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Perché

    void *

    ??
    Essendo dinamico pensavo volesse void *

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da user1989 Visualizza il messaggio
    Essendo dinamico pensavo volesse void *
    Dinamico?

    La set non restituisce nulla ... quindi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    va bene corretto, grazie... ma il problema rimane

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    codice:
    for(int i=0; i<poligoni[cont].getNumLati(); i++)
    {
    AnsiString s=Memo->Lines->Strings[i];
    poligoni[cont].setArray(s.ToDouble());
    }
    facendo una cosa simile dice: Incompatible type conversion

    Oppure:
    codice:
    for(int i=0; i<poligoni[cont].getNumLati(); i++)
    
    Memo->Lines->Add(poligoni[cont].getArray());
    cannot convert double to unicodestring

    In pratica in input riempio questo array di double allocato di dimensione numero lati che rappresentano la misura di ogni lato del mio poligono.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma ToDouble() non restituisce un puntatore ad un array di double ma un semplice double
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma ToDouble() non restituisce un puntatore ad un array di double ma un semplice double
    si, in sostanza sarebbe, se fosse membro pubblico:
    codice:
    for..
    poligoni[cont].array[i]=s.ToDouble();

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    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.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    84
    Quote Originariamente inviata da oregon Visualizza il messaggio
    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.
    Ho risolto cosi:
    impoArray prende in input il valore double e l indice di dove inserirlo...
    codice:
    for()
    {
    AnsiString s=Memo->Lines->Strings[i];
    poligoni[cont].impoArray(s.ToDouble(),i);
    }
    e cosi:
    codice:
    double *ll= poligoni[cont].getArray();
    for ...
    Memo->Lines->Add(ll[i]);
    Ultima modifica di user1989; 19-07-2016 a 12:03

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.