Есть следующий код:
#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 такого не пропустит). Можно что-то с этим сделать? Может какие флаги компилятора есть, чтобы отслеживать?






