ho fatto un enum come:classe enum come indice di matrice
enum class KeyPressSurfaces {
KEY_PRESS_SURFACE_DEFAULT,
KEY_PRESS_SURFACE_UP,
KEY_PRESS_SURFACE_DOWN,
KEY_PRESS_SURFACE_LEFT,
KEY_PRESS_SURFACE_RIGHT,
KEY_PRESS_SURFACE_TOTAL
};
e poi tento di definire una matrice come ho digitato di seguito, ma ricevuto l'errore, size of array 'KEY_PRESS_SURFACES' has non-integral type 'KeyPressSurfaces'
SDL_Surface*KEY_PRESS_SURFACES[KeyPressSurfaces::KEY_PRESS_SURFACE_TOTAL];
I capisco bene l'errore, ma non so dove spostare lo KeyPressSurfaces
per qualificare la costante nell'enum.
Mi rendo anche conto che potrei semplicemente usare uno enum
e non uno enum class
, ma credo che questo dovrebbe funzionare, e voglio imparare come farlo.
Qualsiasi risposta/consiglio è apprezzato! Grazie!
perché vuoi così tanto usare un enum per specificare la dimensione di un array? La dimensione dovrebbe essere una costante di tempo di compilazione. – user463035818
L'enum è una costante di tempo di compilazione. – parsley72