Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Qt enum in struttura
Forum - C/C++ - Qt enum in struttura

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1694
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:23
Domenica, 01/10/2017
Buongiorno purtroppo faccio ancora molta confusione tra c# e c++.
anche se sembrano estremamente simili cambiano molte cose...

ho un problema nell'utilizzare un enumeratore in una struttura.
semplicemente

Esempio:

Codice sorgente - presumibilmente C/C++

  1. enum Tipo { Denari, Bastoni, Spade, Coppe };
  2.  
  3. struct Carta
  4. {
  5.    int valore;
  6.    QRect rect;
  7.  
  8. }
  9.  
  10. QList<Carta> Mazzo;




il problema sorge quando devo utilizzare l'enumeratore
durante l'inserimento di un elemento nella lista.

se faccio in questo modo:

Codice sorgente - presumibilmente C/C++

  1. struct Carta
  2. {
  3.    int valore;
  4.    QRect rect;
  5.    Tipo tipo;  //ERRORE  "Nono sono accetti due tipi differenti"
  6. }




invece se faccio

Codice sorgente - presumibilmente C/C++

  1. struct Carta
  2. {
  3.    int valore;
  4.    QRect rect;
  5.    enum Tipo { Denari, Bastoni, Spade, Coppe };  //OK
  6. }





Ma poi trovo una serie di errori,
Vi mostro alcune prove fatte.

Codice sorgente - presumibilmente Plain Text

  1. Carta c;
  2. c.valore = 1;
  3. c.rect = QRect(10,10,100,100);
  4.  
  5. //Prove eseguite
  6. c.Tipo = c.Tipo.Denari; //Errore
  7. c.Tipo = Carta::Tipo.Denari; //Errore
  8. c.Tipo = Carta.Tipo.Denari; //Errore
  9. c.Tipo = c::Tipo.Denari; //Errore
  10. c.Tipo = 1; // Errore



Ho fatto tutte le prove immaginabili anche se sbagliate o forse corrette.
Non ho trovato nulla su google tranne qualche esempio sugli enum ma relativi a classi
e non a strutture.

Conoscete qualche soluzione? dove sbaglio?


Ultima modifica effettuata da Thejuster il 01/10/2017 alle 11:07


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5447
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 12:55
Domenica, 01/10/2017
Alla fine della struttura manca il ;

struct Carta
{
..
} ;


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1694
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:29
Lunedì, 02/10/2017
non credo sia quello il problema nessuno.

Non ho ancora provato ma stamattina mi è sorto un dubbio.
Può essere che la lista QT  QList  non accetti tipi nativi come enum?

Magari non sò, esiste qualcosa tipo qenum  come QString,QRect etc.


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5447
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 10:52
Lunedì, 02/10/2017
Rimandiamo il discorso dopo che metti il ;
?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1694
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 11:05
Lunedì, 02/10/2017


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5447
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:21
Lunedì, 02/10/2017
Se non posti i file sorgenti (magari zippati) da compilare e provare, come si fa a rispondere?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 401
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 23:14
Martedì, 03/10/2017
Hai un'idea sbagliata su come funzionano le enum, se ho tempo domani faccio un post per chiarire, intanto se vuoi cerca cos'è "enum class" introdotto in C++11

PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1694
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:35
Mercoledì, 04/10/2017
Si grazie lumo perché proprio non ci ho capito nulla.
Sarà che confondo c# e c++


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5447
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:12
Mercoledì, 04/10/2017
@TheJuster ... io ho compilato correttamente ... però se non provo il tuo codice non posso capire dove sbagli ...

Te l'avevo già chiesto ma se non puoi/vuoi, almeno dillo ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo