box.switchMove(Move) // Что??
Move
это имя типа, его нельзя тут использовать. Вот box.switchMove(Move.Left)
и так далее написать можно. То есть вам нужно вычислить, в каком направлении подвинулся pers
и выбрать, какой параметр передать: Move.Left
, Move.Right
, Move.Up
или Move.Down
. type
-- это имя типа вашего enum. var
-- название переменной только что объявленного типа. Код можно переписать так:enum type {
A,B,C
};
enum type var;
type
-- это ключевое слово, лучше классический enum fruit { apple, orange };
. Плюс определять переменные в объявлении типа -- advanced feature, я бы её в первом же примере не давал. signed int num = INT_MAX;
Тогда при ++num;
что окажется в num
-- unspecified. То есть может оказаться INT_MIN, а может 42.unsigned int num = UINT_MAX;
Тогда при ++num;
в num
обязано оказаться 0
, в соответствии со стандартом. переполнения беззнаковых целых быть не должно
int compare_prices(const void* price1, const void* price2) {
const char* name1 = ((const price*)price1)->name;
const char* name2 = ((const price*)price2)->name;
return strcmp(name1, name2);
}
qsort(МАССИВ_СТРУКТУР, РАЗМЕР_МАССИВА, sizeof(price), &compare_prices);