zrobiłem enum jako:klasy enum jako indeks tablicy
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
};
a później próbuję zdefiniować tablicę jako Wpisałem poniżej, ale dostałem błąd, size of array 'KEY_PRESS_SURFACES' has non-integral type 'KeyPressSurfaces'
SDL_Surface*KEY_PRESS_SURFACES[KeyPressSurfaces::KEY_PRESS_SURFACE_TOTAL];
I rozumiem błąd w porządku, ale nie wiem, gdzie przenieść KeyPressSurfaces
, aby zakwalifikować stałą w wyliczeniu.
Również zdaję sobie sprawę, że mogę po prostu użyć enum
, a nie enum class
, ale mam wrażenie, że to powinno działać, i chcę się nauczyć, jak to zrobić.
Każda odpowiedź/porada jest doceniana! Dzięki!
Dlaczego tak bardzo chcesz użyć wyliczenia do określenia rozmiaru tablicy? Rozmiar powinien być stałą czasu kompilacji. – user463035818
Wyliczenie jest stałą czasową kompilacji. – parsley72