Есть следующий код:
#include <stdio.h>
typedef enum _pizza {
S_SMALL,
S_MEDIUM,
S_LARGE,
}pizza;
int main()
{
pizza my_pizza;
my_pizza = S_SMALL;
printf("My pizza is %d\n", my_pizza);
my_pizza = -100;
printf("My pizza is %d\n", my_pizza);
return 0;
}
./test_enum My pizza is 0 My pizza is -100
Компилятор спокойно пропускает и программа работает. Я ожидал, что при присвоении my_pizza значения не из enum _pizza будет уж если не ошибка, так предупреждение (если не ошибаюсь, Java такого не пропустит). Можно что-то с этим сделать? Может какие флаги компилятора есть, чтобы отслеживать?