Oppure

Loading
01/10/17 8:23
Thejuster
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:


enum Tipo { Denari, Bastoni, Spade, Coppe };

struct Carta
{
   int valore;
   QRect rect;

}

QList<Carta> Mazzo;




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

se faccio in questo modo:


struct Carta
{
   int valore;
   QRect rect;
   Tipo tipo;  //ERRORE  &quot;Nono sono accetti due tipi differenti&quot;
}



invece se faccio


struct Carta
{
   int valore;
   QRect rect;
   enum Tipo { Denari, Bastoni, Spade, Coppe };  //OK
}





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


Carta c;
c.valore = 1;
c.rect = QRect(10,10,100,100);

//Prove eseguite
c.Tipo = c.Tipo.Denari; //Errore
c.Tipo = Carta::Tipo.Denari; //Errore
c.Tipo = Carta.Tipo.Denari; //Errore
c.Tipo = c::Tipo.Denari; //Errore
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 01/10/17 9:07
mire.forumfree.it/ - Mire Engine
C# UI Designer
01/10/17 10:55
Alla fine della struttura manca il ;

struct Carta
{
..
} ;
02/10/17 7:29
Thejuster
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.
mire.forumfree.it/ - Mire Engine
C# UI Designer
02/10/17 8:52
Rimandiamo il discorso dopo che metti il ;
?
02/10/17 9:05
Thejuster
l'ho messo nessuno.

file header

s1.postimg.org/1lfn3gg8gv/…


file cpp

s1.postimg.org/57iwkh1ai7/…

mire.forumfree.it/ - Mire Engine
C# UI Designer
02/10/17 9:21
Se non posti i file sorgenti (magari zippati) da compilare e provare, come si fa a rispondere?
03/10/17 21:14
lumo
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
aaa
04/10/17 7:35
Thejuster
Si grazie lumo perché proprio non ci ho capito nulla.
Sarà che confondo c# e c++
mire.forumfree.it/ - Mire Engine
C# UI Designer