Самое простое изменение, необходимое для работы вашего кода, это:
class mySprite : public sf::Sprite
{
public:
enum side{ left=1, right=2, top=3, bottom=4 };
float GetSide(side aSide)
{
switch(aSide)
{
// do stuff
// add breaks; as appropriate
case left:
case right:
case top:
case bottom:
}
}
};
Вы также можете сделать это следующим образом:
typedef enum {left = 1, right, top, bottom} side;
Что означает определение анонимного типа enum для вашего mySprite
класса и создание side
псевдонима, эффективно выполняющего то же самое, что и код выше. Для краткости только первому значению перечисления должно быть присвоено начальное целое число. Все значения, которые следуют после этой точки, считаются увеличенными на 1 каждый раз, если вы явно не назначите ему что-то еще.